apb: don't use any static state
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
113c61069c
commit
9c0afd0e1d
@ -73,10 +73,9 @@ typedef struct APBState {
|
|||||||
uint32_t obio_irq_map[32];
|
uint32_t obio_irq_map[32];
|
||||||
qemu_irq pci_irqs[32];
|
qemu_irq pci_irqs[32];
|
||||||
uint32_t reset_control;
|
uint32_t reset_control;
|
||||||
|
unsigned int nr_resets;
|
||||||
} APBState;
|
} APBState;
|
||||||
|
|
||||||
static unsigned int nr_resets;
|
|
||||||
|
|
||||||
static void apb_config_writel (void *opaque, target_phys_addr_t addr,
|
static void apb_config_writel (void *opaque, target_phys_addr_t addr,
|
||||||
uint32_t val)
|
uint32_t val)
|
||||||
{
|
{
|
||||||
@ -108,7 +107,7 @@ static void apb_config_writel (void *opaque, target_phys_addr_t addr,
|
|||||||
s->reset_control &= ~(val & RESET_WCMASK);
|
s->reset_control &= ~(val & RESET_WCMASK);
|
||||||
s->reset_control |= val & RESET_WMASK;
|
s->reset_control |= val & RESET_WMASK;
|
||||||
if (val & SOFT_POR) {
|
if (val & SOFT_POR) {
|
||||||
nr_resets = 0;
|
s->nr_resets = 0;
|
||||||
qemu_system_reset_request();
|
qemu_system_reset_request();
|
||||||
} else if (val & SOFT_XIR) {
|
} else if (val & SOFT_XIR) {
|
||||||
qemu_system_reset_request();
|
qemu_system_reset_request();
|
||||||
@ -374,7 +373,7 @@ static void pci_pbm_reset(DeviceState *d)
|
|||||||
s->pci_irq_map[i] &= PBM_PCI_IMR_MASK;
|
s->pci_irq_map[i] &= PBM_PCI_IMR_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nr_resets++ == 0) {
|
if (s->nr_resets++ == 0) {
|
||||||
/* Power on reset */
|
/* Power on reset */
|
||||||
s->reset_control = POR;
|
s->reset_control = POR;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user