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 | 494 | case 0x01: |
| 495 | 495 | case 0x02: |
| 496 | 496 | case 0x03: |
| 497 | + case 0x06: | |
| 498 | + case 0x07: | |
| 497 | 499 | case 0x08: |
| 498 | 500 | case 0x09: |
| 499 | 501 | case 0x0a: |
| ... | ... | @@ -517,6 +519,8 @@ void pci_default_write_config(PCIDevice *d, |
| 517 | 519 | case 0x01: |
| 518 | 520 | case 0x02: |
| 519 | 521 | case 0x03: |
| 522 | + case 0x06: | |
| 523 | + case 0x07: | |
| 520 | 524 | case 0x08: |
| 521 | 525 | case 0x09: |
| 522 | 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 | 4 | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> |
| 5 | 5 | |
| 6 | 6 | diff --git a/bios/rombios32.c b/bios/rombios32.c |
| 7 | -index 3269be5..191707d 100644 | |
| 7 | +index 27c5952..7be4216 100644 | |
| 8 | 8 | --- a/bios/rombios32.c |
| 9 | 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 | 11 | #define QEMU_CFG_SIGNATURE 0x00 |
| 12 | 12 | #define QEMU_CFG_ID 0x01 |
| 13 | 13 | #define QEMU_CFG_UUID 0x02 |
| ... | ... | @@ -16,7 +16,7 @@ index 3269be5..191707d 100644 |
| 16 | 16 | |
| 17 | 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 | 20 | while (len--) |
| 21 | 21 | *(buf++) = inb(QEMU_CFG_DATA_PORT); |
| 22 | 22 | } |
| ... | ... | @@ -44,7 +44,7 @@ index 3269be5..191707d 100644 |
| 44 | 44 | #endif |
| 45 | 45 | |
| 46 | 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 | 48 | uint32_t hpet_addr; |
| 49 | 49 | #endif |
| 50 | 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 | 55 | |
| 56 | 56 | /* reserve memory space for tables */ |
| 57 | 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 | 59 | bios_table_cur_addr += sizeof(*rsdp); |
| 60 | 60 | #endif |
| 61 | 61 | |
| ... | ... | @@ -74,7 +74,7 @@ index 3269be5..191707d 100644 |
| 74 | 74 | |
| 75 | 75 | fadt_addr = addr; |
| 76 | 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 | 78 | addr += sizeof(*hpet); |
| 79 | 79 | #endif |
| 80 | 80 | |
| ... | ... | @@ -87,7 +87,7 @@ index 3269be5..191707d 100644 |
| 87 | 87 | /* RSDP */ |
| 88 | 88 | memset(rsdp, 0, sizeof(*rsdp)); |
| 89 | 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 | 91 | rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr); |
| 92 | 92 | rsdp->checksum = acpi_checksum((void *)rsdp, 20); |
| 93 | 93 | |
| ... | ... | @@ -105,7 +105,7 @@ index 3269be5..191707d 100644 |
| 105 | 105 | /* FADT */ |
| 106 | 106 | memset(fadt, 0, sizeof(*fadt)); |
| 107 | 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 | 109 | "APIC", madt_size, 1); |
| 110 | 110 | } |
| 111 | 111 | |
| ... | ... | @@ -113,7 +113,7 @@ index 3269be5..191707d 100644 |
| 113 | 113 | #ifdef BX_QEMU |
| 114 | 114 | /* HPET */ |
| 115 | 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 | 117 | hpet->addr.address = cpu_to_le32(ACPI_HPET_ADDRESS); |
| 118 | 118 | acpi_build_table_header((struct acpi_table_header *)hpet, |
| 119 | 119 | "HPET", sizeof(*hpet), 1); |
| ... | ... | @@ -148,8 +148,3 @@ index 3269be5..191707d 100644 |
| 148 | 148 | |
| 149 | 149 | } |
| 150 | 150 | |
| 151 | --- | |
| 152 | - Gleb. | |
| 153 | - | |
| 154 | - | |
| 155 | - | ... | ... |