[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 1/8] serial: fake IRQ-regs context in poll handlers
On 13.02.2024 15:53, Marek Marczykowski wrote: > On Tue, Feb 13, 2024 at 08:45:54AM +0100, Jan Beulich wrote: >> On 13.02.2024 04:43, Marek Marczykowski wrote: >>> On Mon, Feb 12, 2024 at 10:04:38AM +0100, Jan Beulich wrote: >>>> On 08.02.2024 23:00, Julien Grall wrote: >>>>> On 05/02/2024 13:27, Jan Beulich wrote: >>>>>> In preparation of dropping the register parameters from >>>>>> serial_[rt]x_interrupt() and in turn from IRQ handler functions, >>>>>> register state needs making available another way for the few key >>>>>> handlers which need it. Fake IRQ-like state. >>>>>> >>>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >>>>>> --- >>>>>> The use of guest_cpu_user_regs() in dbc_uart_poll() is inconsistent with >>>>>> other console poll functions we have, and it's unclear whether that's >>>>>> actually generally correct. >>>>> >>>>> Is it? Looking at ns16550_poll() we would pass guest_user_regs() if >>>>> run_in_exception() doesn't exist. But looking at the caller, no-on seems >>>>> to care about the 'regs'. So is this just a latent bug? >>>> >>>> What do you mean by "doesn't exist"? ns16550_poll() assumes it exists. >>>> And I can spot any use of guest_user_regs() on the respective generic >>>> or Arm-specific bug.c paths. >>>> >>>>> BTW, do you have an idea why the poll function is not run in an >>>>> exception handler? >>>> >>>> "The poll function" being which one? If you mean the one in xhci-dbc.c >>>> then that's why I had Cc-ed Marek. Moving him to To: - maybe that >>>> manages to finally catch his attention. >>> >>> TBH, I don't know. That's part of the original xue patch at >>> https://github.com/connojd/xue/blob/master/patches/xen-xue-dbgp.patch >>> and it works for me as it is. >> >> "Works" meaning what? Doesn't crash on you? Or does also provide >> sensible output in _all_ cases (i.e. including when e.g. the poll >> happens to run on an idle vCPU)? > > Generally provides sensible output, for example during boot (it is using > idle vCPU then, right?). Before Dom0 is started: Yes. With the exception of the phase where PV Dom0's page tables are constructed, albeit in that time window guest_cpu_user_regs() shouldn't yield sensible data either. I can only say I'm surprised; since I have no way to properly test with an XHCI debug port, I'd have to see about faking something to convince myself (unless you were to supply example output). Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |