diff options
author | jkim <jkim@FreeBSD.org> | 2010-12-22 19:57:03 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-12-22 19:57:03 +0000 |
commit | 940b86ebdccd1f22427e953eccea0f4bc2f5ba06 (patch) | |
tree | a4072fdeb9467dee9b67632d7ebb90b7c6c1c161 /sys/amd64/include/pcb.h | |
parent | 0826d29a2d8e53cc3f8de837cc3646c464f5cd20 (diff) | |
download | FreeBSD-src-940b86ebdccd1f22427e953eccea0f4bc2f5ba06.zip FreeBSD-src-940b86ebdccd1f22427e953eccea0f4bc2f5ba06.tar.gz |
Increase size of pcb_flags to four bytes.
Requested by: bde, jhb
Diffstat (limited to 'sys/amd64/include/pcb.h')
-rw-r--r-- | sys/amd64/include/pcb.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h index 2a2c8cd..1af8f6d 100644 --- a/sys/amd64/include/pcb.h +++ b/sys/amd64/include/pcb.h @@ -71,7 +71,7 @@ struct pcb { struct region_descriptor pcb_ldt; uint16_t pcb_tr; - u_char pcb_flags; + u_int pcb_flags; #define PCB_FULL_IRET 0x01 /* full iret is required */ #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_KERNFPU 0x04 /* kernel uses fpu */ @@ -111,20 +111,20 @@ struct trapframe; * because traps and interrupts are executed only on instruction boundary. */ static __inline void -set_pcb_flags(struct pcb *pcb, const u_char flags) +set_pcb_flags(struct pcb *pcb, const u_int flags) { - __asm __volatile("orb %b1,%0" - : "=m" (pcb->pcb_flags) : "iq" (flags), "m" (pcb->pcb_flags) + __asm __volatile("orl %1,%0" + : "=m" (pcb->pcb_flags) : "ir" (flags), "m" (pcb->pcb_flags) : "cc"); } static __inline void -clear_pcb_flags(struct pcb *pcb, const u_char flags) +clear_pcb_flags(struct pcb *pcb, const u_int flags) { - __asm __volatile("andb %b1,%0" - : "=m" (pcb->pcb_flags) : "iq" (~flags), "m" (pcb->pcb_flags) + __asm __volatile("andl %1,%0" + : "=m" (pcb->pcb_flags) : "ir" (~flags), "m" (pcb->pcb_flags) : "cc"); } |