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 [EMAIL PROTECTED]
>> 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 [EMAIL PROTECTED]
> 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
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot