diff options
author | Jerry Zhao <jerryz123@berkeley.edu> | 2023-06-06 11:21:21 -0700 |
---|---|---|
committer | Jerry Zhao <jerryz123@berkeley.edu> | 2023-06-20 12:23:47 -0700 |
commit | 701029d28b0e73f98a36869ef9317c49f0dc2949 (patch) | |
tree | e84191569aa072bdacb41e25cb509e7eef932fc4 /riscv/ns16550.cc | |
parent | 37e50ad49914725f6ba0364255e2ae809c60f0f2 (diff) | |
download | riscv-isa-sim-701029d28b0e73f98a36869ef9317c49f0dc2949.zip riscv-isa-sim-701029d28b0e73f98a36869ef9317c49f0dc2949.tar.gz riscv-isa-sim-701029d28b0e73f98a36869ef9317c49f0dc2949.tar.bz2 |
ns16550_t: ns16550 should parse interrupt id from the fdt
Diffstat (limited to 'riscv/ns16550.cc')
-rw-r--r-- | riscv/ns16550.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/riscv/ns16550.cc b/riscv/ns16550.cc index a4bd204..dabe3a9 100644 --- a/riscv/ns16550.cc +++ b/riscv/ns16550.cc @@ -343,11 +343,12 @@ std::string ns16550_generate_dts(const sim_t* sim) ns16550_t* ns16550_parse_from_fdt(const void* fdt, const sim_t* sim, reg_t* base) { - uint32_t ns16550_shift, ns16550_io_width; + uint32_t ns16550_shift, ns16550_io_width, ns16550_int_id; if (fdt_parse_ns16550(fdt, base, - &ns16550_shift, &ns16550_io_width, "ns16550a") == 0) { + &ns16550_shift, &ns16550_io_width, &ns16550_int_id, + "ns16550a") == 0) { abstract_interrupt_controller_t* intctrl = sim->get_intctrl(); - return new ns16550_t(intctrl, NS16550_INTERRUPT_ID, ns16550_shift, ns16550_io_width); + return new ns16550_t(intctrl, ns16550_int_id, ns16550_shift, ns16550_io_width); } else { return nullptr; } |