summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/atmel_arm_aic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/atmel_arm_aic.cpp')
-rw-r--r--src/devices/machine/atmel_arm_aic.cpp10
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;