Commit c2c5104b226f7fdcfa8e9bb9d62bd934c09da5f0
1 parent
7ec632b4
Make PCI config status register read-only
From the documentation I can find, this register is supposed to be read-only. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7070 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
13 additions
and
14 deletions
hw/pci.c
@@ -494,6 +494,8 @@ void pci_default_write_config(PCIDevice *d, | @@ -494,6 +494,8 @@ void pci_default_write_config(PCIDevice *d, | ||
494 | case 0x01: | 494 | case 0x01: |
495 | case 0x02: | 495 | case 0x02: |
496 | case 0x03: | 496 | case 0x03: |
497 | + case 0x06: | ||
498 | + case 0x07: | ||
497 | case 0x08: | 499 | case 0x08: |
498 | case 0x09: | 500 | case 0x09: |
499 | case 0x0a: | 501 | case 0x0a: |
@@ -517,6 +519,8 @@ void pci_default_write_config(PCIDevice *d, | @@ -517,6 +519,8 @@ void pci_default_write_config(PCIDevice *d, | ||
517 | case 0x01: | 519 | case 0x01: |
518 | case 0x02: | 520 | case 0x02: |
519 | case 0x03: | 521 | case 0x03: |
522 | + case 0x06: | ||
523 | + case 0x07: | ||
520 | case 0x08: | 524 | case 0x08: |
521 | case 0x09: | 525 | case 0x09: |
522 | case 0x0a: | 526 | case 0x0a: |
pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
@@ -4,10 +4,10 @@ Signed-off-by: Gleb Natapov <gleb@redhat.com> | @@ -4,10 +4,10 @@ Signed-off-by: Gleb Natapov <gleb@redhat.com> | ||
4 | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> | 4 | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> |
5 | 5 | ||
6 | diff --git a/bios/rombios32.c b/bios/rombios32.c | 6 | diff --git a/bios/rombios32.c b/bios/rombios32.c |
7 | -index 3269be5..191707d 100644 | 7 | +index 27c5952..7be4216 100644 |
8 | --- a/bios/rombios32.c | 8 | --- a/bios/rombios32.c |
9 | +++ b/bios/rombios32.c | 9 | +++ b/bios/rombios32.c |
10 | -@@ -457,6 +457,8 @@ void wrmsr_smp(uint32_t index, uint64_t val) | 10 | +@@ -469,6 +469,8 @@ void wrmsr_smp(uint32_t index, uint64_t val) |
11 | #define QEMU_CFG_SIGNATURE 0x00 | 11 | #define QEMU_CFG_SIGNATURE 0x00 |
12 | #define QEMU_CFG_ID 0x01 | 12 | #define QEMU_CFG_ID 0x01 |
13 | #define QEMU_CFG_UUID 0x02 | 13 | #define QEMU_CFG_UUID 0x02 |
@@ -16,7 +16,7 @@ index 3269be5..191707d 100644 | @@ -16,7 +16,7 @@ index 3269be5..191707d 100644 | ||
16 | 16 | ||
17 | int qemu_cfg_port; | 17 | int qemu_cfg_port; |
18 | 18 | ||
19 | -@@ -484,6 +486,27 @@ void qemu_cfg_read(uint8_t *buf, int len) | 19 | +@@ -496,6 +498,27 @@ void qemu_cfg_read(uint8_t *buf, int len) |
20 | while (len--) | 20 | while (len--) |
21 | *(buf++) = inb(QEMU_CFG_DATA_PORT); | 21 | *(buf++) = inb(QEMU_CFG_DATA_PORT); |
22 | } | 22 | } |
@@ -44,7 +44,7 @@ index 3269be5..191707d 100644 | @@ -44,7 +44,7 @@ index 3269be5..191707d 100644 | ||
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | void uuid_probe(void) | 46 | void uuid_probe(void) |
47 | -@@ -1534,8 +1557,8 @@ void acpi_bios_init(void) | 47 | +@@ -1550,8 +1573,8 @@ void acpi_bios_init(void) |
48 | uint32_t hpet_addr; | 48 | uint32_t hpet_addr; |
49 | #endif | 49 | #endif |
50 | uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr, ssdt_addr; | 50 | uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr, ssdt_addr; |
@@ -55,7 +55,7 @@ index 3269be5..191707d 100644 | @@ -55,7 +55,7 @@ index 3269be5..191707d 100644 | ||
55 | 55 | ||
56 | /* reserve memory space for tables */ | 56 | /* reserve memory space for tables */ |
57 | #ifdef BX_USE_EBDA_TABLES | 57 | #ifdef BX_USE_EBDA_TABLES |
58 | -@@ -1548,10 +1571,17 @@ void acpi_bios_init(void) | 58 | +@@ -1564,10 +1587,17 @@ void acpi_bios_init(void) |
59 | bios_table_cur_addr += sizeof(*rsdp); | 59 | bios_table_cur_addr += sizeof(*rsdp); |
60 | #endif | 60 | #endif |
61 | 61 | ||
@@ -74,7 +74,7 @@ index 3269be5..191707d 100644 | @@ -74,7 +74,7 @@ index 3269be5..191707d 100644 | ||
74 | 74 | ||
75 | fadt_addr = addr; | 75 | fadt_addr = addr; |
76 | fadt = (void *)(addr); | 76 | fadt = (void *)(addr); |
77 | -@@ -1590,12 +1620,6 @@ void acpi_bios_init(void) | 77 | +@@ -1606,12 +1636,6 @@ void acpi_bios_init(void) |
78 | addr += sizeof(*hpet); | 78 | addr += sizeof(*hpet); |
79 | #endif | 79 | #endif |
80 | 80 | ||
@@ -87,7 +87,7 @@ index 3269be5..191707d 100644 | @@ -87,7 +87,7 @@ index 3269be5..191707d 100644 | ||
87 | /* RSDP */ | 87 | /* RSDP */ |
88 | memset(rsdp, 0, sizeof(*rsdp)); | 88 | memset(rsdp, 0, sizeof(*rsdp)); |
89 | memcpy(rsdp->signature, "RSD PTR ", 8); | 89 | memcpy(rsdp->signature, "RSD PTR ", 8); |
90 | -@@ -1607,17 +1631,6 @@ void acpi_bios_init(void) | 90 | +@@ -1623,17 +1647,6 @@ void acpi_bios_init(void) |
91 | rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr); | 91 | rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr); |
92 | rsdp->checksum = acpi_checksum((void *)rsdp, 20); | 92 | rsdp->checksum = acpi_checksum((void *)rsdp, 20); |
93 | 93 | ||
@@ -105,7 +105,7 @@ index 3269be5..191707d 100644 | @@ -105,7 +105,7 @@ index 3269be5..191707d 100644 | ||
105 | /* FADT */ | 105 | /* FADT */ |
106 | memset(fadt, 0, sizeof(*fadt)); | 106 | memset(fadt, 0, sizeof(*fadt)); |
107 | fadt->firmware_ctrl = cpu_to_le32(facs_addr); | 107 | fadt->firmware_ctrl = cpu_to_le32(facs_addr); |
108 | -@@ -1692,6 +1705,7 @@ void acpi_bios_init(void) | 108 | +@@ -1710,6 +1723,7 @@ void acpi_bios_init(void) |
109 | "APIC", madt_size, 1); | 109 | "APIC", madt_size, 1); |
110 | } | 110 | } |
111 | 111 | ||
@@ -113,7 +113,7 @@ index 3269be5..191707d 100644 | @@ -113,7 +113,7 @@ index 3269be5..191707d 100644 | ||
113 | #ifdef BX_QEMU | 113 | #ifdef BX_QEMU |
114 | /* HPET */ | 114 | /* HPET */ |
115 | memset(hpet, 0, sizeof(*hpet)); | 115 | memset(hpet, 0, sizeof(*hpet)); |
116 | -@@ -1702,7 +1716,34 @@ void acpi_bios_init(void) | 116 | +@@ -1720,7 +1734,34 @@ void acpi_bios_init(void) |
117 | hpet->addr.address = cpu_to_le32(ACPI_HPET_ADDRESS); | 117 | hpet->addr.address = cpu_to_le32(ACPI_HPET_ADDRESS); |
118 | acpi_build_table_header((struct acpi_table_header *)hpet, | 118 | acpi_build_table_header((struct acpi_table_header *)hpet, |
119 | "HPET", sizeof(*hpet), 1); | 119 | "HPET", sizeof(*hpet), 1); |
@@ -148,8 +148,3 @@ index 3269be5..191707d 100644 | @@ -148,8 +148,3 @@ index 3269be5..191707d 100644 | ||
148 | 148 | ||
149 | } | 149 | } |
150 | 150 | ||
151 | --- | ||
152 | - Gleb. | ||
153 | - | ||
154 | - | ||
155 | - |