Re: A regression in IA64 kexec/kdump patch for 2.6.18?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jay Lan wrote:
<snip>
> 
> Well, i built 2.6.18 kernel and 2.6.18rc5 kernels.
> I also built 2 kexec-tools based on kdump10 patch. I have been
> associating the kexec-tools tree that i built at the rc5 time with
> the rc5 kernel and the newer kexec-tools tree with the 2.6.18
> kernel.
> 
> I just ran a few tests with different combination of kexec-tools
> and kernels. Well, it showed that the rc5 version of kexec-tools
> worked correctly with both kernels, but the newer version of
> kexec-tools displayed the system restart problem with both kernels.
> 
> So, it was the kexec-tools that caused the problem. Not the kernel
> side. I will diff the patches i applied to both trees...

Nan-hai,

OK, the '-noio' option patch you posted on 9/20 was the cause of
my system restart.
http://lists.osdl.org/pipermail/fastboot/2006-September/004062.html

If instead, if i make every inline functions in
purgatory/arch/ia64/io.h null functions, it would then work.
I will attach the patch i used (based on your suggestion) here for
your reference. It was in rough form.


Thanks,
 - jay


> 
> Later,
>  - jay
> 
> 
> 
>>   Zou Nan hai
>>> Thanks,
>>>  - jay
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Index: kexec-tools-1.101/purgatory/arch/ia64/io.h
===================================================================
--- kexec-tools-1.101.orig/purgatory/arch/ia64/io.h	2006-10-16 18:19:07.346416494 -0700
+++ kexec-tools-1.101/purgatory/arch/ia64/io.h	2006-10-16 18:47:14.742913628 -0700
@@ -4,6 +4,7 @@
 #define MF()	asm volatile ("mf.a" ::: "memory")
 #define IO_SPACE_ENCODING(p)     ((((p) >> 2) << 12) | (p & 0xfff))
 
+#ifdef DO_VGA_IO
 static inline void *io_addr (unsigned long port)
 {
         unsigned long offset;
@@ -91,4 +92,46 @@ static inline void writel(unsigned int b
 {
         *(volatile unsigned int *) addr = b;
 }
+#else
+static inline void *io_addr (unsigned long port)
+{ return (void*)0; }
+
+static inline unsigned int inb (unsigned long port)
+{ return 0; }
+
+static inline unsigned int inw (unsigned long port)
+{ return 0; }
+
+static inline unsigned int ia64_inl (unsigned long port)
+{ return 0; }
+
+static inline void outb (unsigned char val, unsigned long port)
+{ return; }
+
+static inline void outw (unsigned short val, unsigned long port)
+{ return; }
+
+static inline void outl (unsigned int val, unsigned long port)
+{ return; }
+
+
+static inline unsigned char readb(const volatile void  *addr)
+{ return 0; }
+
+static inline unsigned short readw(const volatile void  *addr)
+{ return 0; }
+
+static inline unsigned int readl(const volatile void  *addr)
+{ return 0; }
+
+static inline void writeb(unsigned char b, volatile void  *addr)
+{ return; }
+
+static inline void writew(unsigned short b, volatile void  *addr)
+{ return; }
+
+static inline void writel(unsigned int b, volatile void  *addr)
+{ return; }
+
+#endif
 #endif

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux