diff options
Diffstat (limited to 'src/devices/machine/atmel_arm_aic.cpp')
-rw-r--r-- | src/devices/machine/atmel_arm_aic.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/devices/machine/atmel_arm_aic.cpp b/src/devices/machine/atmel_arm_aic.cpp index 600bd09f832..948c370fbe9 100644 --- a/src/devices/machine/atmel_arm_aic.cpp +++ b/src/devices/machine/atmel_arm_aic.cpp @@ -42,7 +42,7 @@ void arm_aic_device::regs_map(address_map &map) map(0x148, 0x14b).r(FUNC(arm_aic_device::aic_ffsr_r)); // AIC_FFSR Fast Forcing Status Register } -READ32_MEMBER(arm_aic_device::irq_vector_r) +uint32_t arm_aic_device::irq_vector_r() { uint32_t mask = m_irqs_enabled & m_irqs_pending & ~m_fast_irqs; m_current_irq_vector = m_spurious_vector; @@ -53,7 +53,7 @@ READ32_MEMBER(arm_aic_device::irq_vector_r) int midx = -1; do { - uint8_t idx = 31 - count_leading_zeros(mask); + uint8_t idx = 31 - count_leading_zeros_32(mask); if ((int)(m_aic_smr[idx] & 7) >= pri) { midx = idx; @@ -78,7 +78,7 @@ READ32_MEMBER(arm_aic_device::irq_vector_r) return m_current_irq_vector; } -READ32_MEMBER(arm_aic_device::firq_vector_r) +uint32_t arm_aic_device::firq_vector_r() { m_current_firq_vector = (m_irqs_enabled & m_irqs_pending & m_fast_irqs) ? m_aic_svr[0] : m_spurious_vector; return m_current_firq_vector; @@ -86,8 +86,6 @@ READ32_MEMBER(arm_aic_device::firq_vector_r) void arm_aic_device::device_start() { - m_irq_out.resolve_safe(); - save_item(NAME(m_irqs_enabled)); save_item(NAME(m_irqs_pending)); save_item(NAME(m_current_irq_vector)); @@ -146,7 +144,7 @@ void arm_aic_device::check_irqs() int pri = get_level(); do { - uint8_t idx = 31 - count_leading_zeros(mask); + uint8_t idx = 31 - count_leading_zeros_32(mask); if ((int)(m_aic_smr[idx] & 7) > pri) { m_core_status |= 2; |