summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2003-01-08 12:19:37 +0000
committergrehan <grehan@FreeBSD.org>2003-01-08 12:19:37 +0000
commit654cbff0ddaa5d0cc777cfec4789e9357757537b (patch)
treeeae10dcf6fad5ea88ddf43656d9a66d8bd2786f5 /sys/powerpc
parentbe4bc4017501a05921869f9121a54415301ea500 (diff)
downloadFreeBSD-src-654cbff0ddaa5d0cc777cfec4789e9357757537b.zip
FreeBSD-src-654cbff0ddaa5d0cc777cfec4789e9357757537b.tar.gz
Fix incorrect error returns and sign-extension.
Approved by: benno
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/copyinout.c14
-rw-r--r--sys/powerpc/powerpc/copyinout.c14
2 files changed, 14 insertions, 14 deletions
diff --git a/sys/powerpc/aim/copyinout.c b/sys/powerpc/aim/copyinout.c
index 7a28fc0..227dd70 100644
--- a/sys/powerpc/aim/copyinout.c
+++ b/sys/powerpc/aim/copyinout.c
@@ -221,7 +221,7 @@ subyte(void *addr, int byte)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
@@ -246,7 +246,7 @@ suword(void *addr, long word)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
@@ -270,21 +270,21 @@ fubyte(const void *addr)
struct thread *td;
pmap_t pm;
faultbuf env;
- char *p;
+ u_char *p;
int val;
td = PCPU_GET(curthread);
pm = &td->td_proc->p_vmspace->vm_pmap;
- p = (char *)((u_int)USER_ADDR + ((u_int)addr & ~SEGMENT_MASK));
+ p = (u_char *)((u_int)USER_ADDR + ((u_int)addr & ~SEGMENT_MASK));
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
- val = (int)*p;
+ val = *p;
td->td_pcb->pcb_onfault = NULL;
return (val);
@@ -304,7 +304,7 @@ fuword(const void *addr)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
diff --git a/sys/powerpc/powerpc/copyinout.c b/sys/powerpc/powerpc/copyinout.c
index 7a28fc0..227dd70 100644
--- a/sys/powerpc/powerpc/copyinout.c
+++ b/sys/powerpc/powerpc/copyinout.c
@@ -221,7 +221,7 @@ subyte(void *addr, int byte)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
@@ -246,7 +246,7 @@ suword(void *addr, long word)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
@@ -270,21 +270,21 @@ fubyte(const void *addr)
struct thread *td;
pmap_t pm;
faultbuf env;
- char *p;
+ u_char *p;
int val;
td = PCPU_GET(curthread);
pm = &td->td_proc->p_vmspace->vm_pmap;
- p = (char *)((u_int)USER_ADDR + ((u_int)addr & ~SEGMENT_MASK));
+ p = (u_char *)((u_int)USER_ADDR + ((u_int)addr & ~SEGMENT_MASK));
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
- val = (int)*p;
+ val = *p;
td->td_pcb->pcb_onfault = NULL;
return (val);
@@ -304,7 +304,7 @@ fuword(const void *addr)
if (setfault(env)) {
td->td_pcb->pcb_onfault = NULL;
- return (EFAULT);
+ return (-1);
}
set_user_sr(pm->pm_sr[(u_int)addr >> ADDR_SR_SHFT]);
OpenPOWER on IntegriCloud