|
|
|
@ -127,14 +127,13 @@ class plic_t : public abstract_device_t, public abstract_interrupt_controller_t |
|
|
|
|
|
|
|
class ns16550_t : public abstract_device_t { |
|
|
|
public: |
|
|
|
ns16550_t(class bus_t *bus, abstract_interrupt_controller_t *intctrl, |
|
|
|
ns16550_t(abstract_interrupt_controller_t *intctrl, |
|
|
|
uint32_t interrupt_id, uint32_t reg_shift, uint32_t reg_io_width); |
|
|
|
bool load(reg_t addr, size_t len, uint8_t* bytes) override; |
|
|
|
bool store(reg_t addr, size_t len, const uint8_t* bytes) override; |
|
|
|
void tick(reg_t rtc_ticks) override; |
|
|
|
size_t size() { return NS16550_SIZE; } |
|
|
|
private: |
|
|
|
class bus_t *bus; |
|
|
|
abstract_interrupt_controller_t *intctrl; |
|
|
|
uint32_t interrupt_id; |
|
|
|
uint32_t reg_shift; |
|
|
|
|