]> git.proxmox.com Git - qemu.git/commitdiff
Merge remote branch 'mst/for_anthony' into staging
authorAnthony Liguori <aliguori@us.ibm.com>
Tue, 13 Jul 2010 13:56:27 +0000 (08:56 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 13 Jul 2010 13:56:27 +0000 (08:56 -0500)
hw/ide/via.c
hw/vt82c686.c
pc-bios/bios.bin
roms/seabios
target-sh4/translate.c

index a403e8cd98f9c6485184a07eacc80c869ec06584..b2c7cad6220dd0542ae942ceeeb5fe03228a4c46 100644 (file)
@@ -150,7 +150,6 @@ static int vt82c686b_ide_initfn(PCIDevice *dev)
     pci_config_set_class(pci_conf, PCI_CLASS_STORAGE_IDE);
     pci_config_set_prog_interface(pci_conf, 0x8a); /* legacy ATA mode */
     pci_config_set_revision(pci_conf,0x06); /* Revision 0.6 */
-    pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; /* header_type */
     pci_set_long(pci_conf + PCI_CAPABILITY_LIST, 0x000000c0);
 
     qemu_register_reset(via_reset, d);
index a0c5747b59004ff34d0556950057c68aa7fce5e0..cacc21767b3ee68c822855f5bbbefc5a0f7ec590 100644 (file)
@@ -468,7 +468,6 @@ static int vt82c686b_pm_initfn(PCIDevice *dev)
     pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_VIA_ACPI);
     pci_config_set_class(pci_conf, PCI_CLASS_BRIDGE_OTHER);
     pci_config_set_revision(pci_conf, 0x40);
-    pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; // header_type
 
     pci_set_word(pci_conf + PCI_COMMAND, 0);
     pci_set_word(pci_conf + PCI_STATUS, PCI_STATUS_FAST_BACK |
@@ -556,8 +555,6 @@ static int vt82c686b_initfn(PCIDevice *d)
     pci_config_set_class(pci_conf, PCI_CLASS_BRIDGE_ISA);
     pci_config_set_prog_interface(pci_conf, 0x0);
     pci_config_set_revision(pci_conf,0x40); /* Revision 4.0 */
-    pci_conf[PCI_HEADER_TYPE] =
-        PCI_HEADER_TYPE_NORMAL | PCI_HEADER_TYPE_MULTI_FUNCTION;
 
     wmask = d->wmask;
     for (i = 0x00; i < 0xff; i++) {
@@ -575,7 +572,7 @@ int vt82c686b_init(PCIBus *bus, int devfn)
 {
     PCIDevice *d;
 
-    d = pci_create_simple(bus, devfn, "VT82C686B");
+    d = pci_create_simple_multifunction(bus, devfn, true, "VT82C686B");
 
     return d->devfn;
 }
index f27ea89f8d44bd13b623b0641a1701899386b3af..d0d4b6aa43b8f306062797b8e53ce469f8c2820f 100644 (file)
Binary files a/pc-bios/bios.bin and b/pc-bios/bios.bin differ
index 7d09d0e3ba11310e973d4302c7fcc3fc2184e04c..17d3e46511aeedc9f09a8216d194d749187b80aa 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 7d09d0e3ba11310e973d4302c7fcc3fc2184e04c
+Subproject commit 17d3e46511aeedc9f09a8216d194d749187b80aa
index d0d6c00297bfa95f151c32a1a838498cefb86529..deee939e12624495e922163a1365c50ea8251801 100644 (file)
@@ -1511,7 +1511,7 @@ static void _decode_opc(DisasContext * ctx)
            tcg_temp_free(addr);
        }
        return;
-#define LDST(reg,ldnum,ldpnum,stnum,stpnum,prechk)             \
+#define LD(reg,ldnum,ldpnum,prechk)            \
   case ldnum:                                                  \
     prechk                                                     \
     tcg_gen_mov_i32 (cpu_##reg, REG(B11_8));                   \
@@ -1520,7 +1520,8 @@ static void _decode_opc(DisasContext * ctx)
     prechk                                                     \
     tcg_gen_qemu_ld32s (cpu_##reg, REG(B11_8), ctx->memidx);   \
     tcg_gen_addi_i32(REG(B11_8), REG(B11_8), 4);               \
-    return;                                                    \
+    return;
+#define ST(reg,stnum,stpnum,prechk)            \
   case stnum:                                                  \
     prechk                                                     \
     tcg_gen_mov_i32 (REG(B11_8), cpu_##reg);                   \
@@ -1535,10 +1536,15 @@ static void _decode_opc(DisasContext * ctx)
        tcg_temp_free(addr);                                    \
     }                                                          \
     return;
+#define LDST(reg,ldnum,ldpnum,stnum,stpnum,prechk)             \
+       LD(reg,ldnum,ldpnum,prechk)                             \
+       ST(reg,stnum,stpnum,prechk)
        LDST(gbr,  0x401e, 0x4017, 0x0012, 0x4013, {})
        LDST(vbr,  0x402e, 0x4027, 0x0022, 0x4023, CHECK_PRIVILEGED)
        LDST(ssr,  0x403e, 0x4037, 0x0032, 0x4033, CHECK_PRIVILEGED)
        LDST(spc,  0x404e, 0x4047, 0x0042, 0x4043, CHECK_PRIVILEGED)
+       ST(sgr,  0x003a, 0x4032, CHECK_PRIVILEGED)
+       LD(sgr,  0x403a, 0x4036, CHECK_PRIVILEGED if (!(ctx->features & SH_FEATURE_SH4A)) break;)
        LDST(dbr,  0x40fa, 0x40f6, 0x00fa, 0x40f2, CHECK_PRIVILEGED)
        LDST(mach, 0x400a, 0x4006, 0x000a, 0x4002, {})
        LDST(macl, 0x401a, 0x4016, 0x001a, 0x4012, {})