Lines 174-180
grub_stage2 (void)
Link Here
|
174 |
{ |
174 |
{ |
175 |
/* Make sure our stack lives in the simulated memory area. */ |
175 |
/* Make sure our stack lives in the simulated memory area. */ |
176 |
asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" |
176 |
asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n" |
177 |
: "=&r" (realstack) : "r" (simstack)); |
177 |
: "=&r" (realstack) : "r" (simstack) : "%esp"); |
178 |
|
178 |
|
179 |
/* Do a setjmp here for the stop command. */ |
179 |
/* Do a setjmp here for the stop command. */ |
180 |
if (! setjmp (env_for_exit)) |
180 |
if (! setjmp (env_for_exit)) |
Lines 191-197
grub_stage2 (void)
Link Here
|
191 |
} |
191 |
} |
192 |
|
192 |
|
193 |
/* Replace our stack before we use any local variables. */ |
193 |
/* Replace our stack before we use any local variables. */ |
194 |
asm volatile ("movl %0, %%esp\n" : : "r" (realstack)); |
194 |
asm volatile ("movl %0, %%esp\n" : : "r" (realstack) : "%esp"); |
195 |
} |
195 |
} |
196 |
|
196 |
|
197 |
assert (grub_scratch_mem == 0); |
197 |
assert (grub_scratch_mem == 0); |
198 |
- |
|
|