summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2006-11-25 06:29:46 +0000
committerkmacy <kmacy@FreeBSD.org>2006-11-25 06:29:46 +0000
commit224cafa6b03efdb09569a90000ff61fcd409730c (patch)
treecc40d935de54066ef116dbdf0d6ce5feda72826c /sys
parent598bf8336d02656a3c2eebfc5914c625375d017a (diff)
downloadFreeBSD-src-224cafa6b03efdb09569a90000ff61fcd409730c.zip
FreeBSD-src-224cafa6b03efdb09569a90000ff61fcd409730c.tar.gz
The mountroot prompt will drop into ddb if we don't recognize error codes from
getchar correctly - we also need to check for HUP and BREAK
Diffstat (limited to 'sys')
-rw-r--r--sys/sun4v/sun4v/hcall.S16
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/sun4v/sun4v/hcall.S b/sys/sun4v/sun4v/hcall.S
index 3aaeba0..c5d2831 100644
--- a/sys/sun4v/sun4v/hcall.S
+++ b/sys/sun4v/sun4v/hcall.S
@@ -818,8 +818,22 @@ ENTRY(hv_cons_getchar)
mov %o0, %o2
mov CONS_GETCHAR, %o5
ta FAST_TRAP
+ brnz,a %o0, 1f
+ mov 1, %o0
+
+ cmp %o1, H_BREAK
+ be 1f
+ mov %o1, %o0
+
+ cmp %o1, H_HUP
+ be 1f
+ mov %o1, %o0
+
+ stb %o1, [%o2]
+ mov 0, %o0
+1:
retl
- stx %o1, [%o2]
+ nop
END(hv_cons_getchar)
/*
OpenPOWER on IntegriCloud