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:3.863 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site