diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2007-11-23 16:23:28 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2007-11-23 16:23:28 +0000 |
commit | fd2f80c255acc5edf0cea58053c81f392042bf51 (patch) | |
tree | c15b47372749e83f1e36d0cbc3674d66c60777d8 /extras/mini-os/include/sched.h | |
parent | a222af2ef1f49e5c232466ab162fd606732a9d05 (diff) | |
download | xen-fd2f80c255acc5edf0cea58053c81f392042bf51.tar.gz xen-fd2f80c255acc5edf0cea58053c81f392042bf51.tar.bz2 xen-fd2f80c255acc5edf0cea58053c81f392042bf51.zip |
[Mini-OS] Fix x86 arch_switch_thread
Fix x86 arch_switch_thread by making it pure assembly.
There were missing general register clobbers for x86_64, and BP should
theorically be clobbered too, but gcc does not believe that, so the
only simple safe solution is to use pure assembly.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
Diffstat (limited to 'extras/mini-os/include/sched.h')
-rw-r--r-- | extras/mini-os/include/sched.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/extras/mini-os/include/sched.h b/extras/mini-os/include/sched.h index 1425d0943c..9f209f195d 100644 --- a/extras/mini-os/include/sched.h +++ b/extras/mini-os/include/sched.h @@ -10,6 +10,7 @@ struct thread char *name; char *stack; #if !defined(__ia64__) + /* keep in that order */ unsigned long sp; /* Stack pointer */ unsigned long ip; /* Instruction pointer */ #else /* !defined(__ia64__) */ |