static void ac97_initfn (PCIDevice *dev)

{

    PCIAC97LinkState *d = DO_UPCAST (PCIAC97LinkState, dev, dev);

    AC97LinkState *s = &d->ac97;

    uint8_t *c = d->dev.config;



    s->pci_dev = &d->dev;

    pci_config_set_vendor_id (c, PCI_VENDOR_ID_INTEL); /* ro */

    pci_config_set_device_id (c, PCI_DEVICE_ID_INTEL_82801AA_5); /* ro */



    c[0x04] = 0x00;      /* pcicmd pci command rw, ro */

    c[0x05] = 0x00;



    c[0x06] = 0x80;      /* pcists pci status rwc, ro */

    c[0x07] = 0x02;



    c[0x08] = 0x01;      /* rid revision ro */

    c[0x09] = 0x00;      /* pi programming interface ro */

    pci_config_set_class (c, PCI_CLASS_MULTIMEDIA_AUDIO); /* ro */

    c[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; /* headtyp header type ro */



    c[0x10] = 0x01;      /* nabmar native audio mixer base

                            address rw */

    c[0x11] = 0x00;

    c[0x12] = 0x00;

    c[0x13] = 0x00;



    c[0x14] = 0x01;      /* nabmbar native audio bus mastering

                            base address rw */

    c[0x15] = 0x00;

    c[0x16] = 0x00;

    c[0x17] = 0x00;



    c[0x2c] = 0x86;      /* svid subsystem vendor id rwo */

    c[0x2d] = 0x80;



    c[0x2e] = 0x00;      /* sid subsystem id rwo */

    c[0x2f] = 0x00;



    c[0x3c] = 0x00;      /* intr_ln interrupt line rw */

    c[0x3d] = 0x01;      /* intr_pn interrupt pin ro */



    pci_register_bar (&d->dev, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    pci_register_bar (&d->dev, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s);

    qemu_register_reset (ac97_on_reset, s);

    AUD_register_card ("ac97", &s->card);

    ac97_on_reset (s);

}

static void ac97_initfn (PCIDevice *dev)

{

    PCIAC97LinkState *d = DO_UPCAST (PCIAC97LinkState, dev, dev);

    AC97LinkState *s = &d->ac97;

    uint8_t *c = d->dev.config;



    s->pci_dev = &d->dev;

    pci_config_set_vendor_id (c, PCI_VENDOR_ID_INTEL); 

    pci_config_set_device_id (c, PCI_DEVICE_ID_INTEL_82801AA_5); 



    c[0x04] = 0x00;      

    c[0x05] = 0x00;



    c[0x06] = 0x80;      

    c[0x07] = 0x02;



    c[0x08] = 0x01;      

    c[0x09] = 0x00;      

    pci_config_set_class (c, PCI_CLASS_MULTIMEDIA_AUDIO); 

    c[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; 



    c[0x10] = 0x01;      



    c[0x11] = 0x00;

    c[0x12] = 0x00;

    c[0x13] = 0x00;



    c[0x14] = 0x01;      



    c[0x15] = 0x00;

    c[0x16] = 0x00;

    c[0x17] = 0x00;



    c[0x2c] = 0x86;      

    c[0x2d] = 0x80;



    c[0x2e] = 0x00;      

    c[0x2f] = 0x00;



    c[0x3c] = 0x00;      

    c[0x3d] = 0x01;      



    pci_register_bar (&d->dev, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    pci_register_bar (&d->dev, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s);

    qemu_register_reset (ac97_on_reset, s);

    AUD_register_card ("ac97", &s->card);

    ac97_on_reset (s);

}

static void FUNC_0 (PCIDevice *VAR_0)

{

    PCIAC97LinkState *d = DO_UPCAST (PCIAC97LinkState, VAR_0, VAR_0);

    AC97LinkState *s = &d->ac97;

    uint8_t *c = d->VAR_0.config;



    s->pci_dev = &d->VAR_0;

    pci_config_set_vendor_id (c, PCI_VENDOR_ID_INTEL); 

    pci_config_set_device_id (c, PCI_DEVICE_ID_INTEL_82801AA_5); 



    c[0x04] = 0x00;      

    c[0x05] = 0x00;



    c[0x06] = 0x80;      

    c[0x07] = 0x02;



    c[0x08] = 0x01;      

    c[0x09] = 0x00;      

    pci_config_set_class (c, PCI_CLASS_MULTIMEDIA_AUDIO); 

    c[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; 



    c[0x10] = 0x01;      



    c[0x11] = 0x00;

    c[0x12] = 0x00;

    c[0x13] = 0x00;



    c[0x14] = 0x01;      



    c[0x15] = 0x00;

    c[0x16] = 0x00;

    c[0x17] = 0x00;



    c[0x2c] = 0x86;      

    c[0x2d] = 0x80;



    c[0x2e] = 0x00;      

    c[0x2f] = 0x00;



    c[0x3c] = 0x00;      

    c[0x3d] = 0x01;      



    pci_register_bar (&d->VAR_0, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    pci_register_bar (&d->VAR_0, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);

    register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s);

    qemu_register_reset (ac97_on_reset, s);

    AUD_register_card ("ac97", &s->card);

    ac97_on_reset (s);

}

static void FUNC_0 (PCIDevice *VAR_0)
{ PCIAC97LinkState *d = DO_UPCAST (PCIAC97LinkState, VAR_0, VAR_0); AC97LinkState *s = &d->ac97; uint8_t *c = d->VAR_0.config; s->pci_dev = &d->VAR_0; pci_config_set_vendor_id (c, PCI_VENDOR_ID_INTEL); pci_config_set_device_id (c, PCI_DEVICE_ID_INTEL_82801AA_5); c[0x04] = 0x00; c[0x05] = 0x00; c[0x06] = 0x80; c[0x07] = 0x02; c[0x08] = 0x01; c[0x09] = 0x00; pci_config_set_class (c, PCI_CLASS_MULTIMEDIA_AUDIO); c[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; c[0x10] = 0x01; c[0x11] = 0x00; c[0x12] = 0x00; c[0x13] = 0x00; c[0x14] = 0x01; c[0x15] = 0x00; c[0x16] = 0x00; c[0x17] = 0x00; c[0x2c] = 0x86; c[0x2d] = 0x80; c[0x2e] = 0x00; c[0x2f] = 0x00; c[0x3c] = 0x00; c[0x3d] = 0x01; pci_register_bar (&d->VAR_0, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map); pci_register_bar (&d->VAR_0, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map); register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s); qemu_register_reset (ac97_on_reset, s); AUD_register_card ("ac97", &s->card); ac97_on_reset (s); }