| Jeff Dike | 4ff83ce | 2007-05-06 14:51:08 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (C) 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | 
|  | 3 | * Licensed under the GPL | 
|  | 4 | */ | 
|  | 5 |  | 
|  | 6 | #ifndef __START_H__ | 
|  | 7 | #define __START_H__ | 
|  | 8 |  | 
| Jeff Dike | 54ae36f | 2007-10-16 01:27:33 -0700 | [diff] [blame] | 9 | #include "uml-config.h" | 
|  | 10 | #include "kern_constants.h" | 
|  | 11 |  | 
|  | 12 | /* | 
|  | 13 | * Assembly doesn't want any casting, but C does, so define these | 
|  | 14 | * without casts here, and define new symbols with casts inside the C | 
|  | 15 | * section. | 
|  | 16 | */ | 
|  | 17 | #define ASM_STUB_CODE (UML_CONFIG_TOP_ADDR - 2 * UM_KERN_PAGE_SIZE) | 
|  | 18 | #define ASM_STUB_DATA (UML_CONFIG_TOP_ADDR - UM_KERN_PAGE_SIZE) | 
|  | 19 | #define ASM_STUB_START ASM_STUB_CODE | 
|  | 20 |  | 
|  | 21 | /* | 
|  | 22 | * This file is included by the assembly stubs, which just want the | 
|  | 23 | * definitions above. | 
|  | 24 | */ | 
|  | 25 | #ifndef __ASSEMBLY__ | 
|  | 26 |  | 
|  | 27 | #define STUB_CODE ((unsigned long) ASM_STUB_CODE) | 
|  | 28 | #define STUB_DATA ((unsigned long) ASM_STUB_DATA) | 
|  | 29 | #define STUB_START ((unsigned long) ASM_STUB_START) | 
|  | 30 |  | 
| Jeff Dike | 4ff83ce | 2007-05-06 14:51:08 -0700 | [diff] [blame] | 31 | #include "sysdep/ptrace.h" | 
|  | 32 |  | 
|  | 33 | struct cpu_task { | 
|  | 34 | int pid; | 
|  | 35 | void *task; | 
|  | 36 | }; | 
|  | 37 |  | 
|  | 38 | extern struct cpu_task cpu_tasks[]; | 
|  | 39 |  | 
|  | 40 | extern unsigned long low_physmem; | 
|  | 41 | extern unsigned long high_physmem; | 
|  | 42 | extern unsigned long uml_physmem; | 
|  | 43 | extern unsigned long uml_reserved; | 
|  | 44 | extern unsigned long end_vm; | 
|  | 45 | extern unsigned long start_vm; | 
|  | 46 | extern unsigned long long highmem; | 
|  | 47 |  | 
|  | 48 | extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end; | 
|  | 49 | extern unsigned long _unprotected_end; | 
|  | 50 | extern unsigned long brk_start; | 
|  | 51 |  | 
|  | 52 | extern int linux_main(int argc, char **argv); | 
| Jeff Dike | 4ff83ce | 2007-05-06 14:51:08 -0700 | [diff] [blame] | 53 |  | 
| Jeff Dike | 77bf440 | 2007-10-16 01:26:58 -0700 | [diff] [blame] | 54 | extern void (*sig_info[])(int, struct uml_pt_regs *); | 
| Jeff Dike | 4ff83ce | 2007-05-06 14:51:08 -0700 | [diff] [blame] | 55 |  | 
|  | 56 | #endif | 
| Jeff Dike | 54ae36f | 2007-10-16 01:27:33 -0700 | [diff] [blame] | 57 |  | 
|  | 58 | #endif |