On 6/12/19 6:24 PM, 'Nikhil Devshatwar' via Jailhouse wrote: > On 12/06/19 9:30 PM, Ralf Ramsauer wrote: >> >> >> On 6/12/19 5:48 PM, Nikhil Devshatwar wrote: >>> On 24/05/19 4:15 AM, Ralf Ramsauer wrote: >>>> Hi Lokesh, >>>> >>>> On 5/23/19 11:16 PM, 'Nikhil Devshatwar' via Jailhouse wrote: >>>>> UART is disabled by default on TI platforms and must be enabled >>>>> on some platforms via the MDR register. >>>>> Do this as part of uart_init for 8250 driver >>>>> >>>>> Signed-off-by: Nikhil Devshatwar <[email protected]> >>>>> Signed-off-by: Lokesh Vutla <[email protected]> >>>>> --- >>>>> inmates/lib/uart-8250.c | 4 ++++ >>>>> 1 file changed, 4 insertions(+) >>>>> >>>>> diff --git a/inmates/lib/uart-8250.c b/inmates/lib/uart-8250.c >>>>> index fb7940d2..42b0979c 100644 >>>>> --- a/inmates/lib/uart-8250.c >>>>> +++ b/inmates/lib/uart-8250.c >>>>> @@ -49,6 +49,7 @@ >>>>> #define UART_LCR_DLAB 0x80 >>>>> #define UART_LSR 0x5 >>>>> #define UART_LSR_THRE 0x20 >>>>> +#define UART_MDR1 0x8 >>>>> static void reg_out_mmio32(struct uart_chip *chip, unsigned int >>>>> reg, u32 value) >>>>> { >>>>> @@ -67,6 +68,9 @@ static void uart_8250_init(struct uart_chip *chip) >>>>> chip->reg_out(chip, UART_DLL, chip->divider); >>>>> chip->reg_out(chip, UART_DLM, 0); >>>>> chip->reg_out(chip, UART_LCR, UART_LCR_8N1); >>>>> +#ifdef CONFIG_TI_16550_MDR_QUIRK >> >> if (comm_region->console.flags & JAILHOUSE_CON_MDS_QUIRK) >> >>>>> + chip->reg_out(chip, UART_MDR1, 0); >>>>> +#endif >>>> >>>> I think it's better to encode this in struct uart's flags. We still >>>> have >>>> some bits free there. >> >> s/struct uart/struct jailhouse_console/ > > Oh okay. > Using console flag for setting up uart didn't sound right to me. > Here the inmate has a dedicated uart instance, not shared with the root > cell.
But that's okay. The inmate also has a dedicated struct jailhouse_console that is not shared with the root cell config. Am I missing something? Ralf > > If that's the preferred option, I'll do that. > Of course both uarts have the same behavior. > > Nikhil D > >> >>> >>> I looked up in the source. >>> The flags are only for the console. >>> Here we need this to be written from the inmate, which doesn't know >>> about the console flags. >> >> We do pass the flags to the inmate via the communication region. See >> hypervisor/control.c:657. Just pick a reserved bit. >> >> Ralf >> >>> Which struct uart are you referring to? >>> >>> Nikhil D >>> >>>> >>>> It's better to not reintroduce compile time switches, it took a >>>> while to >>>> get rid of (most of) them. >>>> >>>> Ralf >>>> >>>>> } >>>>> } >>>>> >>> > -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/4a3f2a5d-1916-3a0f-763e-dfd865229397%40oth-regensburg.de. For more options, visit https://groups.google.com/d/optout.
