[PATCH RFC 03/11] um: Use a simple time travel handler for line interrupts

Benjamin Beichler
2023-11-03T16:42:18Z

This change permits interrupts on serial lines in time travel mode,
especially in external mode. However, these interrupts are processed
with the simple handler that does not provide any acknowledgment.

Signed-off-by: Benjamin Beichler <benjamin.beichler@uni-rostock.de>
---
arch/um/drivers/line.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index b98545f3edb5..3cda0ae41824 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -260,9 +260,9 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
int err;

if (input) {
- err = um_request_irq(UM_IRQ_ALLOC, fd, IRQ_READ,
+ err = um_request_irq_tt(UM_IRQ_ALLOC, fd, IRQ_READ,
line_interrupt, 0,
- driver->read_irq_name, data);
+ driver->read_irq_name, data, simple_timetravel_handler);
if (err < 0)
return err;

@@ -270,9 +270,9 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
}

if (output) {
- err = um_request_irq(UM_IRQ_ALLOC, fd, IRQ_WRITE,
+ err = um_request_irq_tt(UM_IRQ_ALLOC, fd, IRQ_WRITE,
line_write_interrupt, 0,
- driver->write_irq_name, data);
+ driver->write_irq_name, data, simple_timetravel_handler);
if (err < 0)
return err;

--
2.34.1