[IA64] [kdump] machveg=dig on hpzx1 platforms

Prarit Bhargava prarit at redhat.com
Thu Jul 5 11:39:35 EDT 2007


>
> Here is a patch to do that.  We use this internally, but
> I had forgotten to post it.
>

Not that it matters a huge amount, but this has been in RHEL5 for 
sometime and does fix the "machvec=dig" nuisance.

(Sorry for not replying earlier Terry -- I had a huge backlog of things 
to get to before this ...)

P.


> -T
>
> ---
> diff --git a/arch/ia64/hp/common/sba_iommu.c 
> b/arch/ia64/hp/common/sba_iommu.c
> --- a/arch/ia64/hp/common/sba_iommu.c
> +++ b/arch/ia64/hp/common/sba_iommu.c
> @@ -42,6 +42,9 @@ #include <asm/dma.h>
>  #include <asm/system.h>        /* wmb() */
>
>  #include <asm/acpi-ext.h>
> +#include <linux/crash_dump.h>
> +
> +extern int swiotlb_late_init_with_default_size (size_t size);
>
>  #define PFX "IOC: "
>
> @@ -2026,11 +2029,24 @@ sba_init(void)
>      if (!ia64_platform_is("hpzx1") && 
> !ia64_platform_is("hpzx1_swiotlb"))
>          return 0;
>
> +#ifdef CONFIG_CRASH_DUMP
> +    /* If we are booting a kdump kernel, the sba_iommu will
> +     * cause devices that were not shutdown properly to MCA
> +     * as soon as they are turned back on.  Our only option for
> +     * a successful kdump kernel boot is to use the swiotlb.
> +     */
> +    if (elfcorehdr_addr < ELFCORE_ADDR_MAX) {
> +        if (swiotlb_late_init_with_default_size(64 * (1<<20)) != 0)
> +            panic("Unable to initialize software I/O TLB:"
> +                  " Try machvec=dig boot option");
> +        machvec_init("dig");
> +        return 0;
> +    }
> +#endif
> +
>      acpi_bus_register_driver(&acpi_sba_ioc_driver);
>      if (!ioc_list) {
>  #ifdef CONFIG_IA64_GENERIC
> -        extern int swiotlb_late_init_with_default_size (size_t size);
> -
>          /*
>           * If we didn't find something sba_iommu can claim, we
>           * need to setup the swiotlb and switch to the dig machvec.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



More information about the kexec mailing list