On Tuesday 11 October 2005 18:30, Junichi Uekawa wrote:
> Hi,
>
> > On Tue, Oct 11, 2005 at 11:15:17PM +0900, Junichi Uekawa wrote:
> > > I've built the guest kernel in the following manner, and
> > > selected TT-mode only, with SKAS disabled.
> >
> > Enable CONFIG_MODE_SKAS. With skas0, skas works everywhere, and tt mode
> > is going to be going away at some point.
>
> Enabling SKAS in linus's git tree (thus 2.6.14-rc4) currently gives the
> following compile error:
> arch/um/kernel/sysrq.c: In function 'show_stack':
> arch/um/kernel/sysrq.c:65: warning: implicit declaration of function
> 'SC_DS' arch/um/kernel/sysrq.c:65: error: invalid lvalue in unary '&'
> arch/um/kernel/sysrq.c:65: warning: implicit declaration of function
> 'SC_ES' arch/um/kernel/sysrq.c:65: error: invalid lvalue in unary '&'
> regards,
> junichi
Yes, I see the problem - verify if the attached fix works (it should
reasonably, but I've not tested the compilation)... Jeff, it's the sysrq-t
patch at fault.
You removed the lines for those regs from UPT_SET, but not from UPT_REG, and
it's breaking in the above compile (UPT_REG is the newly used macro in that
patch). I checked, but it's not patch which got confused (the lines, though
similar, are different enough that no merge tool would mess this up).
--
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
diff --git a/arch/um/include/sysdep-x86_64/ptrace.h b/arch/um/include/sysdep-x86_64/ptrace.h
--- a/arch/um/include/sysdep-x86_64/ptrace.h
+++ b/arch/um/include/sysdep-x86_64/ptrace.h
@@ -183,10 +183,6 @@ struct syscall_args {
case RBP: val = UPT_RBP(regs); break; \
case ORIG_RAX: val = UPT_ORIG_RAX(regs); break; \
case CS: val = UPT_CS(regs); break; \
- case DS: val = UPT_DS(regs); break; \
- case ES: val = UPT_ES(regs); break; \
- case FS: val = UPT_FS(regs); break; \
- case GS: val = UPT_GS(regs); break; \
case EFLAGS: val = UPT_EFLAGS(regs); break; \
default : \
panic("Bad register in UPT_REG : %d\n", reg); \