diff options
author | Michael Brown | 2006-05-06 21:44:23 +0200 |
---|---|---|
committer | Michael Brown | 2006-05-06 21:44:23 +0200 |
commit | fdb983d47383254aebe91edb22b87f18baf0b399 (patch) | |
tree | 09825a4f2cc6e1b92a22e8e45a3d69c334ef907b /contrib | |
parent | Allow access to variables in .text16 as well as .data16. Chained (diff) | |
download | ipxe-fdb983d47383254aebe91edb22b87f18baf0b399.tar.gz ipxe-fdb983d47383254aebe91edb22b87f18baf0b399.tar.xz ipxe-fdb983d47383254aebe91edb22b87f18baf0b399.zip |
Preserve the whole of %esp across prot_call(). We have to split this
between the low half stored in the static variable rm_sp, and the high
half stored on the prot_call() stack, because:
Just using the stack would screw up when a prot_call()ed routine
executes a real_call(); it would have no way to find the current top of
the RM stack.
Extending rm_sp to rm_esp would not be safe, because the guarantee that
rm_sp must return to the correct value by the time an external
real-mode call returns applies only to %sp, not to %esp.
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions