Rev | Line | |
---|
[34] | 1 | #include <xen/config.h> |
---|
| 2 | #include <xen/sched.h> |
---|
| 3 | #include <asm/desc.h> |
---|
| 4 | |
---|
| 5 | #define IDLE_VCPU(_v) \ |
---|
| 6 | { \ |
---|
| 7 | processor: 0, \ |
---|
| 8 | domain: 0 \ |
---|
| 9 | } |
---|
| 10 | |
---|
| 11 | /* |
---|
| 12 | * Initial task structure. |
---|
| 13 | * |
---|
| 14 | * We need to make sure that this is properly aligned due to the way process stacks are |
---|
| 15 | * handled. This is done by having a special ".data.init_task" section... |
---|
| 16 | */ |
---|
| 17 | union { |
---|
| 18 | struct { |
---|
| 19 | struct vcpu task; |
---|
| 20 | } s; |
---|
| 21 | unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; |
---|
| 22 | } init_task_mem asm ("init_task") __attribute__((section(".data.init_task"))) = {{ |
---|
| 23 | .task = IDLE_VCPU(init_task_mem.s.task) |
---|
| 24 | }}; |
---|
| 25 | |
---|
| 26 | EXPORT_SYMBOL(init_task); |
---|
| 27 | |
---|
Note: See
TracBrowser
for help on using the repository browser.