FreeBSD Bugzilla – Attachment 9406 Details for
Bug 19273
Syscons has no key for halting the machine.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 4.89 KB, created by
dwmalone
on 2000-06-14 21:00:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
dwmalone
Created:
2000-06-14 21:00:01 UTC
Size:
4.89 KB
patch
obsolete
>Index: sys/dev/kbd/kbd.c >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/dev/kbd/kbd.c,v >retrieving revision 1.19 >diff -u -r1.19 kbd.c >--- sys/dev/kbd/kbd.c 2000/05/26 02:03:00 1.19 >+++ sys/dev/kbd/kbd.c 2000/06/14 18:30:41 >@@ -1144,6 +1144,7 @@ > /* NON-LOCKING KEYS */ > case SPSC: case RBT: case SUSP: case STBY: > case DBG: case NEXT: case PREV: case PNC: >+ case HALT: > *accents = 0; > break; > case BTAB: >Index: sys/dev/syscons/syscons.c >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/dev/syscons/syscons.c,v >retrieving revision 1.341 >diff -u -r1.341 syscons.c >--- sys/dev/syscons/syscons.c 2000/05/01 10:53:12 1.341 >+++ sys/dev/syscons/syscons.c 2000/06/14 18:27:44 >@@ -3105,6 +3105,13 @@ > #endif > break; > >+ case HALT: >+#ifndef SC_DISABLE_REBOOT >+ halt_nice(); >+#endif >+ break; >+ >+ > #if NAPM > 0 > case SUSP: > apm_suspend(PMST_SUSPEND); >Index: sys/kern/kern_shutdown.c >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/kern/kern_shutdown.c,v >retrieving revision 1.74 >diff -u -r1.74 kern_shutdown.c >--- sys/kern/kern_shutdown.c 2000/05/05 09:58:21 1.74 >+++ sys/kern/kern_shutdown.c 2000/06/14 18:25:35 >@@ -162,6 +162,18 @@ > } > return; > } >+void >+halt_nice() >+{ >+ /* Send a signal to init(8) and have it shutdown the world */ >+ if (initproc != NULL) { >+ psignal(initproc, SIGUSR1); >+ } else { >+ /* No init(8) running, so simply reboot */ >+ boot(RB_NOSYNC|RB_HALT); >+ } >+ return; >+} > static int waittime = -1; > static struct pcb dumppcb; > >Index: sys/pc98/pc98/syscons.c >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/pc98/pc98/syscons.c,v >retrieving revision 1.146 >diff -u -r1.146 syscons.c >--- sys/pc98/pc98/syscons.c 2000/04/27 13:34:29 1.146 >+++ sys/pc98/pc98/syscons.c 2000/06/14 18:31:25 >@@ -3124,6 +3124,12 @@ > #endif > break; > >+ case HALT: >+#ifndef SC_DISABLE_REBOOT >+ halt_nice(); >+#endif >+ break; >+ > #if NAPM > 0 > case SUSP: > apm_suspend(PMST_SUSPEND); >Index: sys/sys/kbio.h >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/sys/kbio.h,v >retrieving revision 1.5 >diff -u -r1.5 kbio.h >--- sys/sys/kbio.h 1999/12/29 04:24:43 1.5 >+++ sys/sys/kbio.h 2000/06/14 18:26:40 >@@ -171,6 +171,7 @@ > #define RCTRA 0x9e /* right ctrl key / alt lock */ > #define LALTA 0x9f /* left alt key / alt lock */ > #define RALTA 0xa0 /* right alt key / alt lock */ >+#define HALT 0xa1 /* halt machine */ > > #define F(x) ((x)+F_FN-1) > #define S(x) ((x)+F_SCR-1) >Index: sys/sys/systm.h >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/sys/sys/systm.h,v >retrieving revision 1.116 >diff -u -r1.116 systm.h >--- sys/sys/systm.h 2000/06/05 18:30:55 1.116 >+++ sys/sys/systm.h 2000/06/14 18:37:07 >@@ -185,6 +185,7 @@ > > /* Finalize the world. */ > void shutdown_nice __P((void)); >+void halt_nice __P((void)); > > /* > * Kernel to clock driver interface. >Index: usr.sbin/kbdcontrol/kbdcontrol.c >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/usr.sbin/kbdcontrol/kbdcontrol.c,v >retrieving revision 1.30 >diff -u -r1.30 kbdcontrol.c >--- usr.sbin/kbdcontrol/kbdcontrol.c 1999/12/10 04:24:26 1.30 >+++ usr.sbin/kbdcontrol/kbdcontrol.c 2000/06/14 18:34:34 >@@ -197,6 +197,8 @@ > return LALTA | 0x100; > case TRALTA: > return RALTA | 0x100; >+ case THALT: >+ return HALT | 0x100; > case TACC: > if (ACC(number) > L_ACC) > return -1; >@@ -428,6 +430,9 @@ > case RALTA | 0x100: > fprintf(fp, " ralta "); > break; >+ case HALT | 0x100: >+ fprintf(fp, " halt "); >+ break; > default: > if (value & 0x100) { > if (val >= F_FN && val <= L_FN) >@@ -620,6 +625,9 @@ > break; > case RALTA: > printf("RALTA, "); >+ break; >+ case HALT: >+ printf(" HALT, "); > break; > default: > if (value >= F_FN && value <= L_FN) >Index: usr.sbin/kbdcontrol/lex.h >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/usr.sbin/kbdcontrol/lex.h,v >retrieving revision 1.9 >diff -u -r1.9 lex.h >--- usr.sbin/kbdcontrol/lex.h 1999/12/10 04:24:27 1.9 >+++ usr.sbin/kbdcontrol/lex.h 2000/06/14 18:33:02 >@@ -61,6 +61,7 @@ > #define TRCTRA 286 > #define TLALTA 287 > #define TRALTA 288 >+#define THALT 289 > > extern int number; > extern char letter; >Index: usr.sbin/kbdcontrol/lex.l >=================================================================== >RCS file: /cvs/FreeBSD-CVS/src/usr.sbin/kbdcontrol/lex.l,v >retrieving revision 1.11 >diff -u -r1.11 lex.l >--- usr.sbin/kbdcontrol/lex.l 1999/12/10 04:24:27 1.11 >+++ usr.sbin/kbdcontrol/lex.l 2000/06/14 18:32:39 >@@ -68,6 +68,7 @@ > rctrla { return TRCTRA; } > lalta|alta { return TLALTA; } > ralta { return TRALTA; } >+halt { return THALT; } > > NUL|nul { number = 0; return TNUM; } > SOH|soh { number = 1; return TNUM; }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 19273
: 9406