diff options
Diffstat (limited to 'src/fw')
-rw-r--r-- | src/fw/csm.c | 1 | ||||
-rw-r--r-- | src/fw/shadow.c | 2 | ||||
-rw-r--r-- | src/fw/xen.c | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/fw/csm.c b/src/fw/csm.c index 7cadd12e..b01f181f 100644 --- a/src/fw/csm.c +++ b/src/fw/csm.c @@ -289,6 +289,7 @@ handle_csm(struct bregs *regs) dprintf(3, "handle_csm regs %p AX=%04x\n", regs, regs->ax); + code_mutable_preinit(); pic_irqmask_write(PICMask); switch(regs->ax) { diff --git a/src/fw/shadow.c b/src/fw/shadow.c index 4486884b..bdb5c5ba 100644 --- a/src/fw/shadow.c +++ b/src/fw/shadow.c @@ -123,12 +123,14 @@ make_bios_writable(void) if (vendor == PCI_VENDOR_ID_INTEL && device == PCI_DEVICE_ID_INTEL_82441) { make_bios_writable_intel(bdf, I440FX_PAM0); + code_mutable_preinit(); ShadowBDF = bdf; return; } if (vendor == PCI_VENDOR_ID_INTEL && device == PCI_DEVICE_ID_INTEL_Q35_MCH) { make_bios_writable_intel(bdf, Q35_HOST_BRIDGE_PAM0); + code_mutable_preinit(); ShadowBDF = bdf; return; } diff --git a/src/fw/xen.c b/src/fw/xen.c index 3f19ef2d..a215b9ea 100644 --- a/src/fw/xen.c +++ b/src/fw/xen.c @@ -71,6 +71,7 @@ void xen_preinit(void) signature, base); if (strcmp(signature, "XenVMMXenVMM") == 0) { /* Set debug_io_port first, so the following messages work. */ + code_mutable_preinit(); DebugOutputPort = 0xe9; debug_banner(); dprintf(1, "\nFound Xen hypervisor signature at %x\n", base); |