diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/i386/i386/support.s | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/sys/i386/i386/support.s b/sys/i386/i386/support.s index f817b2b..2ee6ef5 100644 --- a/sys/i386/i386/support.s +++ b/sys/i386/i386/support.s @@ -1221,10 +1221,10 @@ ENTRY(casuptr) ret /* - * fu{byte,sword,word} - MP SAFE - * - * Fetch a byte (sword, word) from user memory + * Fetch (load) a 32-bit word, a 16-bit word, or an 8-bit byte from user + * memory. All these functions are MPSAFE. */ + ALTENTRY(fuword32) ENTRY(fuword) movl PCPU(CURPCB),%ecx @@ -1239,9 +1239,10 @@ ENTRY(fuword) ret /* - * These two routines are called from the profiling code, potentially - * at interrupt time. If they fail, that's okay, good things will - * happen later. Fail all the time for now - until the trap code is + * fuswintr() and suswintr() are specialized variants of fuword16() and + * suword16(), respectively. They are called from the profiling code, + * potentially at interrupt time. If they fail, that's okay; good things + * will happen later. They always fail for now, until the trap code is * able to deal with this. */ ALTENTRY(suswintr) @@ -1249,9 +1250,6 @@ ENTRY(fuswintr) movl $-1,%eax ret -/* - * fuword16 - MP SAFE - */ ENTRY(fuword16) movl PCPU(CURPCB),%ecx movl $fusufault,PCB_ONFAULT(%ecx) @@ -1264,9 +1262,6 @@ ENTRY(fuword16) movl $0,PCB_ONFAULT(%ecx) ret -/* - * fubyte - MP SAFE - */ ENTRY(fubyte) movl PCPU(CURPCB),%ecx movl $fusufault,PCB_ONFAULT(%ecx) @@ -1288,10 +1283,10 @@ fusufault: ret /* - * su{byte,sword,word} - MP SAFE (if not I386_CPU) - * - * Write a byte (word, longword) to user memory + * Store a 32-bit word, a 16-bit word, or an 8-bit byte to user memory. + * All these functions are MPSAFE unless I386_CPU is configured. */ + ALTENTRY(suword32) ENTRY(suword) movl PCPU(CURPCB),%ecx @@ -1336,9 +1331,6 @@ ENTRY(suword) movl %eax,PCB_ONFAULT(%ecx) ret -/* - * suword16 - MP SAFE (if not I386_CPU) - */ ENTRY(suword16) movl PCPU(CURPCB),%ecx movl $fusufault,PCB_ONFAULT(%ecx) @@ -1382,9 +1374,6 @@ ENTRY(suword16) movl %eax,PCB_ONFAULT(%ecx) ret -/* - * subyte - MP SAFE (if not I386_CPU) - */ ENTRY(subyte) movl PCPU(CURPCB),%ecx movl $fusufault,PCB_ONFAULT(%ecx) |