Skip to content

Commit c6ce6bd

Browse files
committed
Increase the IRQs from 32 to 256
1 parent 9267459 commit c6ce6bd

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

riscv_machine.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
#define _info(...) {} ////
4444
// #define _info printf ////
4545

46+
//// TODO: Maximum number of IRQs
47+
#define MAX_IRQ 256
48+
4649
#ifdef NOTUSED
4750
uint8_t elf_data2[] = { ////
4851
0x7F, 0x45, 0x4C, 0x46, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -131,7 +134,7 @@ typedef struct RISCVMachine {
131134
uint64_t timecmp;
132135
/* PLIC */
133136
uint32_t plic_pending_irq, plic_served_irq;
134-
IRQSignal plic_irq[32]; /* IRQ 0 is not used */
137+
IRQSignal plic_irq[MAX_IRQ]; /* IRQ 0 is not used */
135138
/* HTIF */
136139
uint64_t htif_tohost, htif_fromhost;
137140

@@ -1134,7 +1137,7 @@ static VirtMachine *riscv_machine_init(const VirtMachineParams *p)
11341137
clint_read, clint_write, DEVIO_SIZE32);
11351138
cpu_register_device(s->mem_map, PLIC_BASE_ADDR, PLIC_SIZE, s,
11361139
plic_read, plic_write, DEVIO_SIZE32);
1137-
for(i = 1; i < 32; i++) {
1140+
for(i = 1; i < MAX_IRQ; i++) {
11381141
irq_init(&s->plic_irq[i], plic_set_irq, s, i);
11391142
}
11401143

0 commit comments

Comments
 (0)