direct-io.hg
changeset 5417:a69d16375a5a
bitkeeper revision 1.1705.1.7 (42a94e88EO8US-LmAPxu7rbUmKFdUg)
Move saved_upcall_mask in cpu_user_regs to CS+4 rather than CS+2 on
x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
Move saved_upcall_mask in cpu_user_regs to CS+4 rather than CS+2 on
x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Fri Jun 10 08:25:44 2005 +0000 (2005-06-10) |
parents | 792adee9258f |
children | 5e0480247269 |
files | xen/arch/x86/x86_64/entry.S xen/include/public/arch-x86_64.h |
line diff
1.1 --- a/xen/arch/x86/x86_64/entry.S Fri Jun 10 08:14:33 2005 +0000 1.2 +++ b/xen/arch/x86/x86_64/entry.S Fri Jun 10 08:25:44 2005 +0000 1.3 @@ -316,7 +316,7 @@ FLT4: movq %rax,16(%rsi) 1.4 testb $TBF_INTERRUPT,%cl 1.5 setnz VCPUINFO_upcall_mask(%rax)# TBF_INTERRUPT -> clear upcall mask 1.6 popq %rax 1.7 - shll $16,%eax # Bits 16-23: saved_upcall_mask 1.8 + shlq $32,%rax # Bits 32-39: saved_upcall_mask 1.9 movw UREGS_cs+8(%rsp),%ax # Bits 0-15: CS 1.10 FLT5: movq %rax,8(%rsi) # CS/saved_upcall_mask 1.11 movq UREGS_rip+8(%rsp),%rax
2.1 --- a/xen/include/public/arch-x86_64.h Fri Jun 10 08:14:33 2005 +0000 2.2 +++ b/xen/include/public/arch-x86_64.h Fri Jun 10 08:25:44 2005 +0000 2.3 @@ -153,16 +153,16 @@ typedef struct cpu_user_regs { 2.4 u32 error_code; /* private */ 2.5 u32 entry_vector; /* private */ 2.6 union { u64 rip, eip; }; 2.7 - u16 cs; 2.8 + u16 cs, _pad0[1]; 2.9 u8 saved_upcall_mask; 2.10 - u8 _pad0[5]; 2.11 + u8 _pad1[3]; 2.12 union { u64 rflags, eflags; }; 2.13 union { u64 rsp, esp; }; 2.14 - u16 ss, _pad1[3]; 2.15 - u16 es, _pad2[3]; 2.16 - u16 ds, _pad3[3]; 2.17 - u16 fs, _pad4[3]; /* Non-zero => takes precedence over fs_base. */ 2.18 - u16 gs, _pad5[3]; /* Non-zero => takes precedence over gs_base_user. */ 2.19 + u16 ss, _pad2[3]; 2.20 + u16 es, _pad3[3]; 2.21 + u16 ds, _pad4[3]; 2.22 + u16 fs, _pad5[3]; /* Non-zero => takes precedence over fs_base. */ 2.23 + u16 gs, _pad6[3]; /* Non-zero => takes precedence over gs_base_user. */ 2.24 } cpu_user_regs_t; 2.25 2.26 typedef u64 tsc_timestamp_t; /* RDTSC timestamp */