lkml.org 
[lkml]   [2017]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 09/10] x86: jailhouse: Wire up IOAPIC for legacy UART ports
On Thu, 16 Nov 2017, Jan Kiszka wrote:
>
> static void __init jailhouse_init_platform(void)
> {
> + struct ioapic_domain_cfg ioapic_cfg = {
> + .type = IOAPIC_DOMAIN_STRICT,
> + .ops = &mp_ioapic_irqdomain_ops,
> + };
> + struct mpc_intsrc mp_irq = {
> + .type = MP_INTSRC,
> + .irqtype = mp_INT,
> + };
> u64 pa_data = boot_params.hdr.setup_data;
> struct jailhouse_setup_data *data;
> unsigned int cpu;
> @@ -189,6 +198,17 @@ static void __init jailhouse_init_platform(void)
> boot_cpu_apic_version);
> smp_found_config = 1;
>
> + if (data->standard_ioapic) {
> + mp_register_ioapic(0, 0xfec00000, gsi_top, &ioapic_cfg);
> +
> + /* Register 1:1 mapping for legacy UART IRQs 3 and 4 */
> + mp_irq.srcbusirq = mp_irq.dstirq = 3;
> + mp_save_irq(&mp_irq);
> +
> + mp_irq.srcbusirq = mp_irq.dstirq = 4;
> + mp_save_irq(&mp_irq);

Again, that can run later. And please split out initialization for
particular features into separate functions. Otherwise the parse function
will become a kitchen sink of all sorts.

Thanks,

tglx

\
 
 \ /
  Last update: 2017-11-18 00:16    [W:0.164 / U:3.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site