aboutsummaryrefslogtreecommitdiff
path: root/kern/exception.c
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2024-02-05 23:10:45 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-02-05 23:10:45 +0100
commite211bdce3388a3c9e3dafab903dd53374f6d9759 (patch)
treef41868d1e2a30d6750efa9219649f06188080bdc /kern/exception.c
parenta923f97ff290a70fc224ac79ab276feae1cfbf53 (diff)
downloadgnumach-e211bdce3388a3c9e3dafab903dd53374f6d9759.tar.gz
gnumach-e211bdce3388a3c9e3dafab903dd53374f6d9759.tar.bz2
gnumach-e211bdce3388a3c9e3dafab903dd53374f6d9759.zip
smp: Remove hardcoded AP_BOOT_ADDR
This took some time to figure out. Involves a hand-crafted 16 bit assembly instruction [1] because it requires an immediate for the memory address of far jump. This required self-modifying code to inject the next instruction, therefore I added a near jump to clear the instruction cache queue in case the pipeline cached the unmodified jump location. [1] Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference Manual
Diffstat (limited to 'kern/exception.c')
0 files changed, 0 insertions, 0 deletions