[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 2/3] x86: detect PIC aliasing on ports other than 0x[2A][01]
On 2023-12-18 15:48, Jan Beulich wrote: ... in order to also deny Dom0 access through the alias ports. Without this it is only giving the impression of denying access to both PICs.Unlike for CMOS/RTC, do detection very early, to avoid disturbing normaloperation later on. Like for CMOS/RTC a fundamental assumption of the probing is that reads from the probed alias port won't have side effects in case it does not alias the respective PIC's one. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- v2: Use new command line option. s/pic/8252A/. Re-base over new earlier patch. Use ISOLATE_LSB(). Hi,coming back to this patch, which I believe didn't receive much feedback and thus wasn't committed, for a reason: --- a/xen/arch/x86/i8259.c +++ b/xen/arch/x86/i8259.c @@ -19,6 +19,7 @@ #include <xen/delay.h> #include <asm/apic.h> #include <asm/asm_defns.h> +#include <asm/setup.h> Here asm/setup is included, which provides the declaration for init_IRQ, defined below in the file void __init init_IRQ(void) @@ -343,6 +396,8 @@ void __init init_IRQ(void) which is defined here. This patch would, among other things, address a MISRA C Rule 8.4 violation ("A compatible declaration shall be visible when an object or function with external linkage is defined"). I did send a patch concerned only with the MISRA violation, but correctly it was pointed out that this one was doing that and more. Perhaps someone can have a look at this? init_8259A(0); + probe_8259A_alias(); + for (irq = 0; platform_legacy_irq(irq); irq++) { struct irq_desc *desc = irq_to_desc(irq); --- a/xen/arch/x86/include/asm/setup.h +++ b/xen/arch/x86/include/asm/setup.h @@ -46,6 +46,8 @@ extern uint8_t kbd_shift_flags; extern unsigned long highmem_start; #endif +extern unsigned int i8259A_alias_mask; + extern int8_t opt_smt; extern int8_t opt_probe_port_aliases; -- Nicola Vetrini, BSc Software Engineer, BUGSENG srl (https://bugseng.com)
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |