summaryrefslogtreecommitdiffstats
path: root/src/include/stdio.h
diff options
context:
space:
mode:
authorMichael Brown2016-02-19 20:43:04 +0100
committerMichael Brown2016-02-21 00:09:36 +0100
commitea203e4fe1c60504023ea2604604d8092f24effc (patch)
treea35f62d6dc59334ad9118020ac1adabc567069ac /src/include/stdio.h
parent[build] Fix building on older versions of binutils (diff)
downloadipxe-ea203e4fe1c60504023ea2604604d8092f24effc.tar.gz
ipxe-ea203e4fe1c60504023ea2604604d8092f24effc.tar.xz
ipxe-ea203e4fe1c60504023ea2604604d8092f24effc.zip
[librm] Add phys_call() wrapper for calling code with physical addressing
Add a phys_call() wrapper function (analogous to the existing real_call() wrapper function) for calling code with flat physical addressing, and use this wrapper within the PHYS_CODE() macro. Move the relevant functionality inside librm.S, where it more naturally belongs. The COMBOOT code currently uses explicit calls to _virt_to_phys and _phys_to_virt. These will need to be rewritten if our COMBOOT support is ever generalised to be able to run in a 64-bit build. Specifically: - com32_exec_loop() should be restructured to use PHYS_CODE() - com32_wrapper.S should be restructured to use an equivalent of prot_call(), passing parameters via a struct i386_all_regs - there appears to be no need for com32_wrapper.S to switch between external and internal stacks; this could be omitted to simplify the design. For now, librm.S continues to expose _virt_to_phys and _phys_to_virt for use by com32.c and com32_wrapper.S. Similarly, librm.S continues to expose _intr_to_virt for use by gdbidt.S. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/stdio.h')
0 files changed, 0 insertions, 0 deletions