Revision deb54399

b/hw/ac97.c
1336 1336
    s = &d->ac97;
1337 1337
    s->pci_dev = &d->dev;
1338 1338
    c = d->dev.config;
1339
    c[0x00] = 0x86;      /* vid vendor id intel ro */
1340
    c[0x01] = 0x80;      /* intel */
1341

  
1342
    c[0x02] = 0x15;      /* did device id 82801 ro */
1343
    c[0x03] = 0x24;      /* 82801aa */
1339
    pci_config_set_vendor_id(c, PCI_VENDOR_ID_INTEL); /* ro */
1340
    pci_config_set_device_id(c, PCI_DEVICE_ID_INTEL_82801AA_5); /* ro */
1344 1341

  
1345 1342
    c[0x04] = 0x00;      /* pcicmd pci command rw, ro */
1346 1343
    c[0x05] = 0x00;
b/hw/acpi.c
503 503
                                         devfn, NULL, pm_write_config);
504 504
    pm_state = s;
505 505
    pci_conf = s->dev.config;
506
    pci_conf[0x00] = 0x86;
507
    pci_conf[0x01] = 0x80;
508
    pci_conf[0x02] = 0x13;
509
    pci_conf[0x03] = 0x71;
506
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
507
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371AB_3);
510 508
    pci_conf[0x06] = 0x80;
511 509
    pci_conf[0x07] = 0x02;
512 510
    pci_conf[0x08] = 0x03; // revision number
b/hw/apb_pci.c
252 252

  
253 253
    d = pci_register_device(s->bus, "Advanced PCI Bus", sizeof(PCIDevice),
254 254
                            0, NULL, NULL);
255
    d->config[0x00] = 0x8e; // vendor_id : Sun
256
    d->config[0x01] = 0x10;
257
    d->config[0x02] = 0x00; // device_id
258
    d->config[0x03] = 0xa0;
255
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_SUN);
256
    pci_config_set_device_id(d->config, PCI_DEVICE_ID_SUN_SABRE);
259 257
    d->config[0x04] = 0x06; // command = bus master, pci mem
260 258
    d->config[0x05] = 0x00;
261 259
    d->config[0x06] = 0xa0; // status = fast back-to-back, 66MHz, no error
b/hw/cirrus_vga.c
173 173
#define CIRRUS_MMIO_LINEDRAW_MODE     0x39	// byte
174 174
#define CIRRUS_MMIO_BLTSTATUS         0x40	// byte
175 175

  
176
// PCI 0x00: vendor, 0x02: device
177
#define PCI_VENDOR_CIRRUS             0x1013
176
// PCI 0x02: device
178 177
#define PCI_DEVICE_CLGD5462           0x00d0
179 178
#define PCI_DEVICE_CLGD5465           0x00d6
180 179

  
......
3376 3375
                                                 sizeof(PCICirrusVGAState),
3377 3376
                                                 -1, NULL, pci_cirrus_write_config);
3378 3377
    pci_conf = d->dev.config;
3379
    pci_conf[0x00] = (uint8_t) (PCI_VENDOR_CIRRUS & 0xff);
3380
    pci_conf[0x01] = (uint8_t) (PCI_VENDOR_CIRRUS >> 8);
3381
    pci_conf[0x02] = (uint8_t) (device_id & 0xff);
3382
    pci_conf[0x03] = (uint8_t) (device_id >> 8);
3378
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
3379
    pci_config_set_device_id(pci_conf, device_id);
3383 3380
    pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
3384 3381
    pci_conf[0x0a] = PCI_CLASS_SUB_VGA;
3385 3382
    pci_conf[0x0b] = PCI_CLASS_BASE_DISPLAY;
b/hw/e1000.c
1049 1049
    pci_conf = d->dev.config;
1050 1050
    memset(pci_conf, 0, 256);
1051 1051

  
1052
    *(uint16_t *)(pci_conf+0x00) = cpu_to_le16(0x8086);
1053
    *(uint16_t *)(pci_conf+0x02) = cpu_to_le16(E1000_DEVID);
1052
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
1053
    pci_config_set_device_id(pci_conf, E1000_DEVID);
1054 1054
    *(uint16_t *)(pci_conf+0x04) = cpu_to_le16(0x0407);
1055 1055
    *(uint16_t *)(pci_conf+0x06) = cpu_to_le16(0x0010);
1056 1056
    pci_conf[0x08] = 0x03;
b/hw/eepro100.c
422 422
    logout("%p\n", s);
423 423

  
424 424
    /* PCI Vendor ID */
425
    PCI_CONFIG_16(PCI_VENDOR_ID, 0x8086);
425
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
426 426
    /* PCI Device ID */
427
    PCI_CONFIG_16(PCI_DEVICE_ID, 0x1209);
427
    pci_config_set_device_id(pci_conf, 0x1209);
428 428
    /* PCI Command */
429 429
    PCI_CONFIG_16(PCI_COMMAND, 0x0000);
430 430
    /* PCI Status */
b/hw/es1370.c
1031 1031
    }
1032 1032

  
1033 1033
    c = d->dev.config;
1034
    c[0x00] = 0x74;
1035
    c[0x01] = 0x12;
1036
    c[0x02] = 0x00;
1037
    c[0x03] = 0x50;
1034
    pci_config_set_vendor_id(c, PCI_VENDOR_ID_ENSONIQ);
1035
    pci_config_set_device_id(c, PCI_DEVICE_ID_ENSONIQ_ES1370);
1038 1036
    c[0x07] = 2 << 1;
1039 1037
    c[0x0a] = 0x01;
1040 1038
    c[0x0b] = 0x04;
b/hw/grackle_pci.c
144 144
    cpu_register_physical_memory(base + 0x00200000, 0x1000, pci_mem_data);
145 145
    d = pci_register_device(s->bus, "Grackle host bridge", sizeof(PCIDevice),
146 146
                            0, NULL, NULL);
147
    d->config[0x00] = 0x57; // vendor_id
148
    d->config[0x01] = 0x10;
149
    d->config[0x02] = 0x02; // device_id
150
    d->config[0x03] = 0x00;
147
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_MOTOROLA);
148
    pci_config_set_device_id(d->config, PCI_DEVICE_ID_MOTOROLA_MPC106);
151 149
    d->config[0x08] = 0x00; // revision
152 150
    d->config[0x09] = 0x01;
153 151
    d->config[0x0a] = 0x00; // class_sub = host
b/hw/gt64xxx.c
1136 1136

  
1137 1137
    /* FIXME: Malta specific hw assumptions ahead */
1138 1138

  
1139
    d->config[0x00] = 0xab; /* vendor_id */
1140
    d->config[0x01] = 0x11;
1141
    d->config[0x02] = 0x20; /* device_id */
1142
    d->config[0x03] = 0x46;
1139
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_MARVELL);
1140
    pci_config_set_device_id(d->config, 0x4620); /* device_id */
1143 1141

  
1144 1142
    d->config[0x04] = 0x00;
1145 1143
    d->config[0x05] = 0x00;
b/hw/ide.c
3342 3342
                                           NULL, NULL);
3343 3343
    d->type = IDE_TYPE_CMD646;
3344 3344
    pci_conf = d->dev.config;
3345
    pci_conf[0x00] = 0x95; // CMD646
3346
    pci_conf[0x01] = 0x10;
3347
    pci_conf[0x02] = 0x46;
3348
    pci_conf[0x03] = 0x06;
3345
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CMD);
3346
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_CMD_646);
3349 3347

  
3350 3348
    pci_conf[0x08] = 0x07; // IDE controller revision
3351 3349
    pci_conf[0x09] = 0x8f;
......
3417 3415
    d->type = IDE_TYPE_PIIX3;
3418 3416

  
3419 3417
    pci_conf = d->dev.config;
3420
    pci_conf[0x00] = 0x86; // Intel
3421
    pci_conf[0x01] = 0x80;
3422
    pci_conf[0x02] = 0x10;
3423
    pci_conf[0x03] = 0x70;
3418
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
3419
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371SB_1);
3424 3420
    pci_conf[0x09] = 0x80; // legacy ATA mode
3425 3421
    pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE
3426 3422
    pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
......
3456 3452
    d->type = IDE_TYPE_PIIX4;
3457 3453

  
3458 3454
    pci_conf = d->dev.config;
3459
    pci_conf[0x00] = 0x86; // Intel
3460
    pci_conf[0x01] = 0x80;
3461
    pci_conf[0x02] = 0x11;
3462
    pci_conf[0x03] = 0x71;
3455
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
3456
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371AB);
3463 3457
    pci_conf[0x09] = 0x80; // legacy ATA mode
3464 3458
    pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE
3465 3459
    pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
b/hw/lsi53c895a.c
1963 1963
void *lsi_scsi_init(PCIBus *bus, int devfn)
1964 1964
{
1965 1965
    LSIState *s;
1966
    uint8_t *pci_conf;
1966 1967

  
1967 1968
    s = (LSIState *)pci_register_device(bus, "LSI53C895A SCSI HBA",
1968 1969
                                        sizeof(*s), devfn, NULL, NULL);
......
1971 1972
        return NULL;
1972 1973
    }
1973 1974

  
1975
    pci_conf = s->pci_dev.config;
1976

  
1974 1977
    /* PCI Vendor ID (word) */
1975
    s->pci_dev.config[0x00] = 0x00;
1976
    s->pci_dev.config[0x01] = 0x10;
1978
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_LSI_LOGIC);
1977 1979
    /* PCI device ID (word) */
1978
    s->pci_dev.config[0x02] = 0x12;
1979
    s->pci_dev.config[0x03] = 0x00;
1980
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_LSI_53C895A);
1980 1981
    /* PCI base class code */
1981
    s->pci_dev.config[0x0b] = 0x01;
1982
    pci_conf[0x0b] = 0x01;
1982 1983
    /* PCI subsystem ID */
1983
    s->pci_dev.config[0x2e] = 0x00;
1984
    s->pci_dev.config[0x2f] = 0x10;
1984
    pci_conf[0x2e] = 0x00;
1985
    pci_conf[0x2f] = 0x10;
1985 1986
    /* PCI latency timer = 255 */
1986
    s->pci_dev.config[0x0d] = 0xff;
1987
    pci_conf[0x0d] = 0xff;
1987 1988
    /* Interrupt pin 1 */
1988
    s->pci_dev.config[0x3d] = 0x01;
1989
    pci_conf[0x3d] = 0x01;
1989 1990

  
1990 1991
    s->mmio_io_addr = cpu_register_io_memory(0, lsi_mmio_readfn,
1991 1992
                                             lsi_mmio_writefn, s);
b/hw/macio.c
106 106
        macio_state->ide_mem_index[i] = -1;
107 107
    /* Note: this code is strongly inspirated from the corresponding code
108 108
       in PearPC */
109
    d->config[0x00] = 0x6b; // vendor_id
110
    d->config[0x01] = 0x10;
111
    d->config[0x02] = device_id;
112
    d->config[0x03] = device_id >> 8;
109

  
110
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_APPLE);
111
    pci_config_set_device_id(d->config, device_id);
113 112

  
114 113
    d->config[0x0a] = 0x00; // class_sub = pci2pci
115 114
    d->config[0x0b] = 0xff; // class_base = bridge
b/hw/ne2000.c
790 790
                                              devfn,
791 791
                                              NULL, NULL);
792 792
    pci_conf = d->dev.config;
793
    pci_conf[0x00] = 0xec; // Realtek 8029
794
    pci_conf[0x01] = 0x10;
795
    pci_conf[0x02] = 0x29;
796
    pci_conf[0x03] = 0x80;
793
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_REALTEK);
794
    pci_config_set_device_id(pci_conf, 0x8029); // Realtek 8029
797 795
    pci_conf[0x0a] = 0x00; // ethernet network controller
798 796
    pci_conf[0x0b] = 0x02;
799 797
    pci_conf[0x0e] = 0x00; // header_type
b/hw/openpic.c
1017 1017
        if (opp == NULL)
1018 1018
            return NULL;
1019 1019
        pci_conf = opp->pci_dev.config;
1020
        pci_conf[0x00] = 0x14; // IBM MPIC2
1021
        pci_conf[0x01] = 0x10;
1022
        pci_conf[0x02] = 0xFF;
1023
        pci_conf[0x03] = 0xFF;
1020
        pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_IBM);
1021
        pci_config_set_device_id(pci_conf, 0xffff); // MPIC2
1024 1022
        pci_conf[0x0a] = 0x80; // PIC
1025 1023
        pci_conf[0x0b] = 0x08;
1026 1024
        pci_conf[0x0e] = 0x00; // header_type
b/hw/pci.h
8 8

  
9 9
extern target_phys_addr_t pci_mem_base;
10 10

  
11
/* see pci-ids.txt */
11
#define PCI_VENDOR_ID_LSI_LOGIC          0x1000
12
#define PCI_DEVICE_ID_LSI_53C895A        0x0012
13

  
14
#define PCI_VENDOR_ID_DEC                0x1011
15

  
16
#define PCI_VENDOR_ID_CIRRUS             0x1013
17

  
18
#define PCI_VENDOR_ID_IBM                0x1014
19

  
20
#define PCI_VENDOR_ID_AMD                0x1022
21
#define PCI_DEVICE_ID_AMD_LANCE          0x2000
22

  
23
#define PCI_VENDOR_ID_HITACHI            0x1054
24

  
25
#define PCI_VENDOR_ID_MOTOROLA           0x1057
26
#define PCI_DEVICE_ID_MOTOROLA_MPC106    0x0002
27
#define PCI_DEVICE_ID_MOTOROLA_RAVEN     0x4801
28

  
29
#define PCI_VENDOR_ID_APPLE              0x106b
30
#define PCI_DEVICE_ID_APPLE_UNI_N_AGP    0x0020
31

  
32
#define PCI_VENDOR_ID_SUN                0x108e
33
#define PCI_DEVICE_ID_SUN_EBUS           0x1000
34
#define PCI_DEVICE_ID_SUN_SABRE          0xa000
35

  
36
#define PCI_VENDOR_ID_CMD                0x1095
37
#define PCI_DEVICE_ID_CMD_646            0x0646
38

  
39
#define PCI_VENDOR_ID_REALTEK            0x10ec
40
#define PCI_DEVICE_ID_REALTEK_8139       0x8139
41

  
42
#define PCI_VENDOR_ID_XILINX             0x10ee
43

  
44
#define PCI_VENDOR_ID_MARVELL            0x11ab
45

  
46
#define PCI_VENDOR_ID_ENSONIQ            0x1274
47
#define PCI_DEVICE_ID_ENSONIQ_ES1370     0x5000
48

  
49
#define PCI_VENDOR_ID_VMWARE             0x15ad
50
#define PCI_DEVICE_ID_VMWARE_SVGA2       0x0405
51
#define PCI_DEVICE_ID_VMWARE_SVGA        0x0710
52
#define PCI_DEVICE_ID_VMWARE_NET         0x0720
53
#define PCI_DEVICE_ID_VMWARE_SCSI        0x0730
54
#define PCI_DEVICE_ID_VMWARE_IDE         0x1729
55

  
56
#define PCI_VENDOR_ID_INTEL              0x8086
57
#define PCI_DEVICE_ID_INTEL_82441        0x1237
58
#define PCI_DEVICE_ID_INTEL_82801AA_5    0x2415
59
#define PCI_DEVICE_ID_INTEL_82371SB_0    0x7000
60
#define PCI_DEVICE_ID_INTEL_82371SB_1    0x7010
61
#define PCI_DEVICE_ID_INTEL_82371SB_2    0x7020
62
#define PCI_DEVICE_ID_INTEL_82371AB_0    0x7110
63
#define PCI_DEVICE_ID_INTEL_82371AB      0x7111
64
#define PCI_DEVICE_ID_INTEL_82371AB_2    0x7112
65
#define PCI_DEVICE_ID_INTEL_82371AB_3    0x7113
66

  
67
/* Red Hat / Qumranet (for QEMU) -- see pci-ids.txt */
12 68
#define PCI_VENDOR_ID_REDHAT_QUMRANET    0x1af4
13 69
#define PCI_SUBVENDOR_ID_REDHAT_QUMRANET 0x1af4
14 70
#define PCI_SUBDEVICE_ID_QEMU            0x1100
......
130 186
PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint32_t id,
131 187
                        pci_map_irq_fn map_irq, const char *name);
132 188

  
189
static inline void
190
pci_config_set_vendor_id(uint8_t *pci_config, uint16_t val)
191
{
192
    cpu_to_le16wu((uint16_t *)&pci_config[PCI_VENDOR_ID], val);
193
}
194

  
195
static inline void
196
pci_config_set_device_id(uint8_t *pci_config, uint16_t val)
197
{
198
    cpu_to_le16wu((uint16_t *)&pci_config[PCI_DEVICE_ID], val);
199
}
200

  
133 201
/* lsi53c895a.c */
134 202
#define LSI_MAX_DEVS 7
135 203
void lsi_scsi_attach(void *opaque, BlockDriverState *bd, int id);
b/hw/pcnet.c
2000 2000

  
2001 2001
    pci_conf = d->dev.config;
2002 2002

  
2003
    *(uint16_t *)&pci_conf[0x00] = cpu_to_le16(0x1022);
2004
    *(uint16_t *)&pci_conf[0x02] = cpu_to_le16(0x2000);
2003
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_AMD);
2004
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_AMD_LANCE);
2005 2005
    *(uint16_t *)&pci_conf[0x04] = cpu_to_le16(0x0007);
2006 2006
    *(uint16_t *)&pci_conf[0x06] = cpu_to_le16(0x0280);
2007 2007
    pci_conf[0x08] = 0x10;
b/hw/piix_pci.c
192 192
    d = pci_register_device(b, "i440FX", sizeof(PCIDevice), 0,
193 193
                            NULL, i440fx_write_config);
194 194

  
195
    d->config[0x00] = 0x86; // vendor_id
196
    d->config[0x01] = 0x80;
197
    d->config[0x02] = 0x37; // device_id
198
    d->config[0x03] = 0x12;
195
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_INTEL);
196
    pci_config_set_device_id(d->config, PCI_DEVICE_ID_INTEL_82441);
199 197
    d->config[0x08] = 0x02; // revision
200 198
    d->config[0x0a] = 0x00; // class_sub = host2pci
201 199
    d->config[0x0b] = 0x06; // class_base = PCI_bridge
......
337 335
    piix3_dev = d;
338 336
    pci_conf = d->config;
339 337

  
340
    pci_conf[0x00] = 0x86; // Intel
341
    pci_conf[0x01] = 0x80;
342
    pci_conf[0x02] = 0x00; // 82371SB PIIX3 PCI-to-ISA bridge (Step A1)
343
    pci_conf[0x03] = 0x70;
338
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
339
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371SB_0); // 82371SB PIIX3 PCI-to-ISA bridge (Step A1)
344 340
    pci_conf[0x0a] = 0x01; // class_sub = PCI_ISA
345 341
    pci_conf[0x0b] = 0x06; // class_base = PCI_bridge
346 342
    pci_conf[0x0e] = 0x80; // header_type = PCI_multifunction, generic
......
361 357
    piix4_dev = d;
362 358
    pci_conf = d->config;
363 359

  
364
    pci_conf[0x00] = 0x86; // Intel
365
    pci_conf[0x01] = 0x80;
366
    pci_conf[0x02] = 0x10; // 82371AB/EB/MB PIIX4 PCI-to-ISA bridge
367
    pci_conf[0x03] = 0x71;
360
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
361
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371AB_0); // 82371AB/EB/MB PIIX4 PCI-to-ISA bridge
368 362
    pci_conf[0x0a] = 0x01; // class_sub = PCI_ISA
369 363
    pci_conf[0x0b] = 0x06; // class_base = PCI_bridge
370 364
    pci_conf[0x0e] = 0x80; // header_type = PCI_multifunction, generic
b/hw/ppc4xx_pci.c
366 366
    PPC4xxPCIState *controller;
367 367
    int index;
368 368
    static int ppc4xx_pci_id;
369
    uint8_t *pci_conf;
369 370

  
370 371
    controller = qemu_mallocz(sizeof(PPC4xxPCIState));
371 372
    if (!controller)
......
378 379
    controller->pci_dev = pci_register_device(controller->pci_state.bus,
379 380
                                              "host bridge", sizeof(PCIDevice),
380 381
                                              0, NULL, NULL);
381
    controller->pci_dev->config[0x00] = 0x14; // vendor_id
382
    controller->pci_dev->config[0x01] = 0x10;
383
    controller->pci_dev->config[0x02] = 0x7f; // device_id
384
    controller->pci_dev->config[0x03] = 0x02;
385
    controller->pci_dev->config[0x0a] = 0x80; // class_sub = other bridge type
386
    controller->pci_dev->config[0x0b] = 0x06; // class_base = PCI_bridge
382
    pci_conf = controller->pci_dev->config;
383
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_IBM);
384
    pci_config_set_device_id(pci_conf, 0x027f); // device_id
385
    pci_conf[0x0a] = 0x80; // class_sub = other bridge type
386
    pci_conf[0x0b] = 0x06; // class_base = PCI_bridge
387 387

  
388 388
    /* CFGADDR */
389 389
    index = cpu_register_io_memory(0, pci4xx_cfgaddr_read,
b/hw/prep_pci.c
155 155
    /* PCI host bridge */
156 156
    d = pci_register_device(s->bus, "PREP Host Bridge - Motorola Raven",
157 157
                            sizeof(PCIDevice), 0, NULL, NULL);
158
    d->config[0x00] = 0x57; // vendor_id : Motorola
159
    d->config[0x01] = 0x10;
160
    d->config[0x02] = 0x01; // device_id : Raven
161
    d->config[0x03] = 0x48;
158
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_MOTOROLA);
159
    pci_config_set_device_id(d->config, PCI_DEVICE_ID_MOTOROLA_RAVEN);
162 160
    d->config[0x08] = 0x00; // revision
163 161
    d->config[0x0A] = 0x00; // class_sub = pci host
164 162
    d->config[0x0B] = 0x06; // class_base = PCI_bridge
b/hw/rtl8139.c
1187 1187
    s->eeprom.contents[0] = 0x8129;
1188 1188
#if 1
1189 1189
    // PCI vendor and device ID should be mirrored here
1190
    s->eeprom.contents[1] = 0x10ec;
1191
    s->eeprom.contents[2] = 0x8139;
1190
    s->eeprom.contents[1] = PCI_VENDOR_ID_REALTEK;
1191
    s->eeprom.contents[2] = PCI_DEVICE_ID_REALTEK_8139;
1192 1192
#endif
1193 1193

  
1194 1194
    s->eeprom.contents[7] = s->macaddr[0] | s->macaddr[1] << 8;
......
3425 3425
                                              devfn,
3426 3426
                                              NULL, NULL);
3427 3427
    pci_conf = d->dev.config;
3428
    pci_conf[0x00] = 0xec; /* Realtek 8139 */
3429
    pci_conf[0x01] = 0x10;
3430
    pci_conf[0x02] = 0x39;
3431
    pci_conf[0x03] = 0x81;
3428
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_REALTEK);
3429
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_REALTEK_8139);
3432 3430
    pci_conf[0x04] = 0x05; /* command = I/O space, Bus Master */
3433 3431
    pci_conf[0x08] = RTL8139_PCI_REVID; /* PCI revision ID; >=0x20 is for 8139C+ */
3434 3432
    pci_conf[0x0a] = 0x00; /* ethernet network controller */
b/hw/sh_pci.c
188 188
    cpu_register_physical_memory(0xfe240000, 0x40000, iop);
189 189
    cpu_register_physical_memory(0xfd000000, 0x1000000, mem);
190 190

  
191
    p->dev->config[0x00] = 0x54; // HITACHI
192
    p->dev->config[0x01] = 0x10; //
193
    p->dev->config[0x02] = 0x0e; // SH7751R
194
    p->dev->config[0x03] = 0x35; //
191
    pci_config_set_vendor_id(p->dev->config, PCI_VENDOR_ID_HITACHI);
192
    pci_config_set_device_id(p->dev->config, 0x350e); // SH7751R
195 193
    p->dev->config[0x04] = 0x80;
196 194
    p->dev->config[0x05] = 0x00;
197 195
    p->dev->config[0x06] = 0x90;
b/hw/sun4u.c
365 365
    PCIDevice *s;
366 366

  
367 367
    s = pci_register_device(bus, "EBUS", sizeof(*s), devfn, NULL, NULL);
368
    s->config[0x00] = 0x8e; // vendor_id : Sun
369
    s->config[0x01] = 0x10;
370
    s->config[0x02] = 0x00; // device_id
371
    s->config[0x03] = 0x10;
368
    pci_config_set_vendor_id(s->config, PCI_VENDOR_ID_SUN);
369
    pci_config_set_device_id(s->config, PCI_DEVICE_ID_SUN_EBUS);
372 370
    s->config[0x04] = 0x06; // command = bus master, pci mem
373 371
    s->config[0x05] = 0x00;
374 372
    s->config[0x06] = 0xa0; // status = fast back-to-back, 66MHz, no error
b/hw/unin_pci.c
174 174
    cpu_register_physical_memory(0xf2c00000, 0x1000, pci_mem_data);
175 175
    d = pci_register_device(s->bus, "Uni-north main", sizeof(PCIDevice),
176 176
                            11 << 3, NULL, NULL);
177
    d->config[0x00] = 0x6b; // vendor_id : Apple
178
    d->config[0x01] = 0x10;
179
    d->config[0x02] = 0x1F; // device_id
180
    d->config[0x03] = 0x00;
177
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_APPLE);
178
    pci_config_set_device_id(d->config, 0x001f); // device_id
181 179
    d->config[0x08] = 0x00; // revision
182 180
    d->config[0x0A] = 0x00; // class_sub = pci host
183 181
    d->config[0x0B] = 0x06; // class_base = PCI_bridge
......
190 188
    /* pci-to-pci bridge */
191 189
    d = pci_register_device("Uni-north bridge", sizeof(PCIDevice), 0, 13 << 3,
192 190
                            NULL, NULL);
193
    d->config[0x00] = 0x11; // vendor_id : TI
194
    d->config[0x01] = 0x10;
195
    d->config[0x02] = 0x26; // device_id
196
    d->config[0x03] = 0x00;
191
    pci_config_set_vendor_id(d->config, 0x1011); // vendor_id : TI
192
    pci_config_set_device_id(d->config, 0x0026); // device_id
197 193
    d->config[0x08] = 0x05; // revision
198 194
    d->config[0x0A] = 0x04; // class_sub = pci2pci
199 195
    d->config[0x0B] = 0x06; // class_base = PCI_bridge
......
229 225

  
230 226
    d = pci_register_device("Uni-north AGP", sizeof(PCIDevice), 0, 11 << 3,
231 227
                            NULL, NULL);
232
    d->config[0x00] = 0x6b; // vendor_id : Apple
233
    d->config[0x01] = 0x10;
234
    d->config[0x02] = 0x20; // device_id
235
    d->config[0x03] = 0x00;
228
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_APPLE);
229
    pci_config_set_device_id(d->config, PCI_DEVICE_ID_APPLE_UNI_N_AGP);
236 230
    d->config[0x08] = 0x00; // revision
237 231
    d->config[0x0A] = 0x00; // class_sub = pci host
238 232
    d->config[0x0B] = 0x06; // class_base = PCI_bridge
......
254 248

  
255 249
    d = pci_register_device("Uni-north internal", sizeof(PCIDevice),
256 250
                            3, 11 << 3, NULL, NULL);
257
    d->config[0x00] = 0x6b; // vendor_id : Apple
258
    d->config[0x01] = 0x10;
259
    d->config[0x02] = 0x1E; // device_id
260
    d->config[0x03] = 0x00;
251
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_APPLE);
252
    pci_config_set_device_id(d->config, 0x001E); // device_id
261 253
    d->config[0x08] = 0x00; // revision
262 254
    d->config[0x0A] = 0x00; // class_sub = pci host
263 255
    d->config[0x0B] = 0x06; // class_base = PCI_bridge
b/hw/usb-ohci.c
1671 1671
void usb_ohci_init_pci(struct PCIBus *bus, int num_ports, int devfn)
1672 1672
{
1673 1673
    OHCIPCIState *ohci;
1674
    int vid = 0x106b;
1675
    int did = 0x003f;
1676 1674

  
1677 1675
    ohci = (OHCIPCIState *)pci_register_device(bus, "OHCI USB", sizeof(*ohci),
1678 1676
                                               devfn, NULL, NULL);
......
1681 1679
        return;
1682 1680
    }
1683 1681

  
1684
    ohci->pci_dev.config[0x00] = vid & 0xff;
1685
    ohci->pci_dev.config[0x01] = (vid >> 8) & 0xff;
1686
    ohci->pci_dev.config[0x02] = did & 0xff;
1687
    ohci->pci_dev.config[0x03] = (did >> 8) & 0xff;
1682
    pci_config_set_vendor_id(ohci->pci_dev.config, PCI_VENDOR_ID_APPLE);
1683
    pci_config_set_device_id(ohci->pci_dev.config, 0x003f); // device_id
1688 1684
    ohci->pci_dev.config[0x09] = 0x10; /* OHCI */
1689 1685
    ohci->pci_dev.config[0x0a] = 0x3;
1690 1686
    ohci->pci_dev.config[0x0b] = 0xc;
b/hw/usb-uhci.c
1080 1080
                                        "USB-UHCI", sizeof(UHCIState),
1081 1081
                                        devfn, NULL, NULL);
1082 1082
    pci_conf = s->dev.config;
1083
    pci_conf[0x00] = 0x86;
1084
    pci_conf[0x01] = 0x80;
1085
    pci_conf[0x02] = 0x20;
1086
    pci_conf[0x03] = 0x70;
1083
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
1084
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371SB_2);
1087 1085
    pci_conf[0x08] = 0x01; // revision number
1088 1086
    pci_conf[0x09] = 0x00;
1089 1087
    pci_conf[0x0a] = 0x03;
......
1117 1115
                                        "USB-UHCI", sizeof(UHCIState),
1118 1116
                                        devfn, NULL, NULL);
1119 1117
    pci_conf = s->dev.config;
1120
    pci_conf[0x00] = 0x86;
1121
    pci_conf[0x01] = 0x80;
1122
    pci_conf[0x02] = 0x12;
1123
    pci_conf[0x03] = 0x71;
1118
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
1119
    pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371AB_2);
1124 1120
    pci_conf[0x08] = 0x01; // revision number
1125 1121
    pci_conf[0x09] = 0x00;
1126 1122
    pci_conf[0x0a] = 0x03;
b/hw/versatile_pci.c
124 124
        isa_mmio_init(base + 0x03000000, 0x00100000);
125 125
    }
126 126

  
127
    d->config[0x00] = 0xee; // vendor_id
128
    d->config[0x01] = 0x10;
127
    pci_config_set_vendor_id(d->config, PCI_VENDOR_ID_XILINX);
129 128
    /* Both boards have the same device ID.  Oh well.  */
130
    d->config[0x02] = 0x00; // device_id
131
    d->config[0x03] = 0x03;
129
    pci_config_set_device_id(d->config, 0x0300); // device_id
132 130
    d->config[0x04] = 0x00;
133 131
    d->config[0x05] = 0x00;
134 132
    d->config[0x06] = 0x20;
b/hw/vga.c
2512 2512
    s->pci_dev = &d->dev;
2513 2513

  
2514 2514
    pci_conf = d->dev.config;
2515
    pci_conf[0x00] = 0x34; // dummy VGA (same as Bochs ID)
2516
    pci_conf[0x01] = 0x12;
2517
    pci_conf[0x02] = 0x11;
2518
    pci_conf[0x03] = 0x11;
2515
    pci_config_set_vendor_id(pci_conf, 0x1234); // dummy VGA (same as Bochs ID)
2516
    pci_config_set_device_id(pci_conf, 0x1111);
2519 2517
    pci_conf[0x0a] = 0x00; // VGA controller
2520 2518
    pci_conf[0x0b] = 0x03;
2521 2519
    pci_conf[0x0e] = 0x00; // header_type
b/hw/virtio.c
830 830
    vdev->vq = qemu_mallocz(sizeof(VirtQueue) * VIRTIO_PCI_QUEUE_MAX);
831 831

  
832 832
    config = pci_dev->config;
833
    config[0x00] = vendor & 0xFF;
834
    config[0x01] = (vendor >> 8) & 0xFF;
835
    config[0x02] = device & 0xFF;
836
    config[0x03] = (device >> 8) & 0xFF;
833
    pci_config_set_vendor_id(config, vendor);
834
    pci_config_set_device_id(config, device);
837 835

  
838 836
    config[0x08] = VIRTIO_PCI_ABI_VERSION;
839 837

  
b/hw/vmware_vga.c
1204 1204
                    iomemtype);
1205 1205
}
1206 1206

  
1207
#define PCI_VENDOR_ID_VMWARE		0x15ad
1208
#define PCI_DEVICE_ID_VMWARE_SVGA2	0x0405
1209
#define PCI_DEVICE_ID_VMWARE_SVGA	0x0710
1210
#define PCI_DEVICE_ID_VMWARE_NET	0x0720
1211
#define PCI_DEVICE_ID_VMWARE_SCSI	0x0730
1212
#define PCI_DEVICE_ID_VMWARE_IDE	0x1729
1213 1207
#define PCI_CLASS_BASE_DISPLAY		0x03
1214 1208
#define PCI_CLASS_SUB_VGA		0x00
1215 1209
#define PCI_CLASS_HEADERTYPE_00h	0x00
......
1223 1217
    s = (struct pci_vmsvga_state_s *)
1224 1218
        pci_register_device(bus, "QEMUware SVGA",
1225 1219
                sizeof(struct pci_vmsvga_state_s), -1, 0, 0);
1226
    s->card.config[PCI_VENDOR_ID]	= PCI_VENDOR_ID_VMWARE & 0xff;
1227
    s->card.config[PCI_VENDOR_ID + 1]	= PCI_VENDOR_ID_VMWARE >> 8;
1228
    s->card.config[PCI_DEVICE_ID]	= SVGA_PCI_DEVICE_ID & 0xff;
1229
    s->card.config[PCI_DEVICE_ID + 1]	= SVGA_PCI_DEVICE_ID >> 8;
1220
    pci_config_set_vendor_id(s->card.config, PCI_VENDOR_ID_VMWARE);
1221
    pci_config_set_device_id(s->card.config, SVGA_PCI_DEVICE_ID);
1230 1222
    s->card.config[PCI_COMMAND]		= 0x07;		/* I/O + Memory */
1231 1223
    s->card.config[PCI_CLASS_DEVICE]	= PCI_CLASS_SUB_VGA;
1232 1224
    s->card.config[0x0b]		= PCI_CLASS_BASE_DISPLAY;

Also available in: Unified diff