Re: 3.2.1 Unable to reset IRR messages on boot

From: Suresh Siddha
Date: Tue Mar 20 2012 - 16:04:17 EST


On Tue, 2012-03-20 at 14:58 -0400, Konrad Rzeszutek Wilk wrote:
> Then this fixes the issue - thought if there are more checks in the future
> it will have to be redone..:
>
> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> index 988828b..b8e2794 100644
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -1859,6 +1859,7 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
> #endif /* CONFIG_X86_64 */
>
> static unsigned char dummy_mapping[PAGE_SIZE] __page_aligned_bss;
> +static unsigned char fake_ioapic_mapping[PAGE_SIZE] __page_aligned_bss;
>
> static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> {
> @@ -1899,7 +1900,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> * We just don't map the IO APIC - all access is via
> * hypercalls. Keep the address in the pte for reference.
> */
> - pte = pfn_pte(PFN_DOWN(__pa(dummy_mapping)), PAGE_KERNEL);
> + pte = pfn_pte(PFN_DOWN(__pa(fake_ioapic_mapping)), PAGE_KERNEL);
> break;
> #endif
>
> @@ -2064,6 +2065,7 @@ void __init xen_init_mmu_ops(void)
> pv_mmu_ops = xen_mmu_ops;
>
> memset(dummy_mapping, 0xff, PAGE_SIZE);
> + memset(fake_ioapic_mapping, 0xfd, PAGE_SIZE);

heh ;)

I was referring to setting up something little more valid. Like
IO_APIC_reg_01 showing value of 0x00170020 etc. As the gsi computation
actually refers to the number of redirection table entries supported by
the IO-APIC.

Also does the dom0 see all the GSI's/io-apic's that the host sees or is
it going to be just one io-apic? I was just wondering if the reg 01 need
to be same as what the host sees?

Anyways, instead of 0xfd, having sane fake register values will be a
better start.

thanks,
suresh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/