lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 18 Nov 2017 00:14:21 +0100 (CET)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Jan Kiszka <jan.kiszka@...mens.com>
cc:     Ingo Molnar <mingo@...hat.com>, "H . Peter Anvin" <hpa@...or.com>,
        x86@...nel.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        jailhouse-dev@...glegroups.com
Subject: Re: [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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ