Revision c84649ca

b/hw/acpi.c
493 493
    ar->gpe.en = g_malloc0(len / 2);
494 494
}
495 495

  
496
void acpi_gpe_blk(ACPIREGS *ar, uint32_t blk)
497
{
498
    ar->gpe.blk = blk;
499
}
500

  
501 496
void acpi_gpe_reset(ACPIREGS *ar)
502 497
{
503 498
    memset(ar->gpe.sts, 0, ar->gpe.len / 2);
......
523 518
{
524 519
    uint8_t *cur;
525 520

  
526
    addr -= ar->gpe.blk;
527 521
    cur = acpi_gpe_ioport_get_ptr(ar, addr);
528 522
    if (addr < ar->gpe.len / 2) {
529 523
        /* GPE_STS */
......
541 535
    uint8_t *cur;
542 536
    uint32_t val;
543 537

  
544
    addr -= ar->gpe.blk;
545 538
    cur = acpi_gpe_ioport_get_ptr(ar, addr);
546 539
    val = 0;
547 540
    if (cur != NULL) {
b/hw/acpi.h
104 104
};
105 105

  
106 106
struct ACPIGPE {
107
    uint32_t blk;
108 107
    uint8_t len;
109 108

  
110 109
    uint8_t *sts;
......
150 149

  
151 150
/* GPE0 */
152 151
void acpi_gpe_init(ACPIREGS *ar, uint8_t len);
153
void acpi_gpe_blk(ACPIREGS *ar, uint32_t blk);
154 152
void acpi_gpe_reset(ACPIREGS *ar);
155 153

  
156 154
void acpi_gpe_ioport_writeb(ACPIREGS *ar, uint32_t addr, uint32_t val);
b/hw/acpi_ich9.c
212 212
    acpi_pm1_cnt_init(&pm->acpi_regs, &pm->io);
213 213

  
214 214
    acpi_gpe_init(&pm->acpi_regs, ICH9_PMIO_GPE0_LEN);
215
    acpi_gpe_blk(&pm->acpi_regs, 0);
216 215
    memory_region_init_io(&pm->io_gpe, &ich9_gpe_ops, pm, "apci-gpe0",
217 216
                          ICH9_PMIO_GPE0_LEN);
218 217
    memory_region_add_subregion(&pm->io, ICH9_PMIO_GPE0_STS, &pm->io_gpe);
b/hw/acpi_piix4.c
582 582
    memory_region_init_io(&s->io_gpe, &piix4_gpe_ops, s, "apci-gpe0",
583 583
                          GPE_LEN);
584 584
    memory_region_add_subregion(get_system_io(), GPE_BASE, &s->io_gpe);
585
    acpi_gpe_blk(&s->ar, 0);
586 585

  
587 586
    register_ioport_read(PCI_UP_BASE, 4, 4, pci_up_read, s);
588 587
    register_ioport_read(PCI_DOWN_BASE, 4, 4, pci_down_read, s);

Also available in: Unified diff