Rev 4339 | Rev 4347 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4339 | Rev 4344 | ||
|---|---|---|---|
| Line 79... | Line 79... | ||
| 79 | #include <ipc/ipc.h> |
79 | #include <ipc/ipc.h> |
| 80 | #include <macros.h> |
80 | #include <macros.h> |
| 81 | #include <adt/btree.h> |
81 | #include <adt/btree.h> |
| 82 | #include <smp/smp.h> |
82 | #include <smp/smp.h> |
| 83 | #include <ddi/ddi.h> |
83 | #include <ddi/ddi.h> |
| 84 | - | ||
| - | 84 | #include <main/main.h> |
|
| 85 | 85 | ||
| 86 | /** Global configuration structure. */ |
86 | /** Global configuration structure. */ |
| 87 | config_t config; |
87 | config_t config; |
| 88 | 88 | ||
| 89 | /** Initial user-space tasks */ |
89 | /** Initial user-space tasks */ |
| Line 103... | Line 103... | ||
| 103 | * These 'hardcoded' variables will be intialized by |
103 | * These 'hardcoded' variables will be intialized by |
| 104 | * the linker or the low level assembler code with |
104 | * the linker or the low level assembler code with |
| 105 | * appropriate sizes and addresses. |
105 | * appropriate sizes and addresses. |
| 106 | */ |
106 | */ |
| 107 | 107 | ||
| 108 | /**< Virtual address of where the kernel is loaded. */ |
108 | /** Virtual address of where the kernel is loaded. */ |
| 109 | uintptr_t hardcoded_load_address = 0; |
109 | uintptr_t hardcoded_load_address = 0; |
| 110 | /**< Size of the kernel code in bytes. */ |
110 | /** Size of the kernel code in bytes. */ |
| 111 | size_t hardcoded_ktext_size = 0; |
111 | size_t hardcoded_ktext_size = 0; |
| 112 | /**< Size of the kernel data in bytes. */ |
112 | /** Size of the kernel data in bytes. */ |
| 113 | size_t hardcoded_kdata_size = 0; |
113 | size_t hardcoded_kdata_size = 0; |
| 114 | /**< Lowest safe stack virtual address. */ |
114 | /** Lowest safe stack virtual address. */ |
| 115 | uintptr_t stack_safe = 0; |
115 | uintptr_t stack_safe = 0; |
| 116 | 116 | ||
| 117 | void main_bsp(void); |
- | |
| 118 | void main_ap(void); |
- | |
| 119 | - | ||
| 120 | /* |
117 | /* |
| 121 | * These two functions prevent stack from underflowing during the |
118 | * These two functions prevent stack from underflowing during the |
| 122 | * kernel boot phase when SP is set to the very top of the reserved |
119 | * kernel boot phase when SP is set to the very top of the reserved |
| 123 | * space. The stack could get corrupted by a fooled compiler-generated |
120 | * space. The stack could get corrupted by a fooled compiler-generated |
| 124 | * pop sequence otherwise. |
121 | * pop sequence otherwise. |