aboutsummaryrefslogtreecommitdiffstats
path: root/src/fw
diff options
context:
space:
mode:
Diffstat (limited to 'src/fw')
-rw-r--r--src/fw/csm.c1
-rw-r--r--src/fw/shadow.c2
-rw-r--r--src/fw/xen.c1
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);