[BACK]Return to reboot.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / sys

Annotation of src/sys/sys/reboot.h, Revision 1.17

1.17    ! jdolecek    1: /*     $NetBSD: reboot.h,v 1.16 1998/06/06 20:24:18 thorpej Exp $      */
1.6       cgd         2:
1.1       cgd         3: /*
1.7       mycroft     4:  * Copyright (c) 1982, 1986, 1988, 1993, 1994
1.4       cgd         5:  *     The Regents of the University of California.  All rights reserved.
1.1       cgd         6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *     This product includes software developed by the University of
                     18:  *     California, Berkeley and its contributors.
                     19:  * 4. Neither the name of the University nor the names of its contributors
                     20:  *    may be used to endorse or promote products derived from this software
                     21:  *    without specific prior written permission.
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     24:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     25:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     26:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     27:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     28:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     29:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     30:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     31:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     32:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     33:  * SUCH DAMAGE.
                     34:  *
1.14      fvdl       35:  *     @(#)reboot.h    8.3 (Berkeley) 12/13/94
1.1       cgd        36:  */
                     37:
1.12      mikel      38: #ifndef _SYS_REBOOT_H_
                     39: #define _SYS_REBOOT_H_
                     40:
1.1       cgd        41: /*
1.8       scottr     42:  * Arguments to reboot system call.  These are passed to the boot program,
                     43:  * and then on to init.
1.1       cgd        44:  */
                     45: #define        RB_AUTOBOOT     0       /* flags for system auto-booting itself */
                     46:
1.7       mycroft    47: #define        RB_ASKNAME      0x001   /* ask for file name to reboot from */
                     48: #define        RB_SINGLE       0x002   /* reboot to single user only */
                     49: #define        RB_NOSYNC       0x004   /* dont sync before reboot */
                     50: #define        RB_HALT         0x008   /* don't reboot, just halt */
                     51: #define        RB_INITNAME     0x010   /* name given for /etc/init (unused) */
1.17    ! jdolecek   52: #define        __RB_UNUSED1    0x020   /* was RB_DFLTROOT, obsolete */
1.7       mycroft    53: #define        RB_KDB          0x040   /* give control to kernel debugger */
                     54: #define        RB_RDONLY       0x080   /* mount root fs read-only */
1.1       cgd        55: #define        RB_DUMP         0x100   /* dump kernel memory before reboot */
1.4       cgd        56: #define        RB_MINIROOT     0x200   /* mini-root present in memory at boot time */
1.15      thorpej    57: #define        RB_STRING       0x400   /* use provided bootstr */
1.16      thorpej    58: #define        RB_POWERDOWN    (RB_HALT|0x800) /* turn power off (or at least halt) */
1.1       cgd        59:
                     60: /*
                     61:  * Constants for converting boot-style device number to type,
                     62:  * adaptor (uba, mba, etc), unit number and partition number.
                     63:  * Type (== major device number) is in the low byte
                     64:  * for backward compatibility.  Except for that of the "magic
                     65:  * number", each mask applies to the shifted value.
                     66:  * Format:
                     67:  *      (4) (4) (4) (4)  (8)     (8)
                     68:  *     --------------------------------
                     69:  *     |MA | AD| CT| UN| PART  | TYPE |
                     70:  *     --------------------------------
                     71:  */
                     72: #define        B_ADAPTORSHIFT          24
                     73: #define        B_ADAPTORMASK           0x0f
                     74: #define        B_ADAPTOR(val)          (((val) >> B_ADAPTORSHIFT) & B_ADAPTORMASK)
                     75: #define B_CONTROLLERSHIFT      20
                     76: #define B_CONTROLLERMASK       0xf
                     77: #define        B_CONTROLLER(val)       (((val)>>B_CONTROLLERSHIFT) & B_CONTROLLERMASK)
                     78: #define B_UNITSHIFT            16
                     79: #define B_UNITMASK             0xf
                     80: #define        B_UNIT(val)             (((val) >> B_UNITSHIFT) & B_UNITMASK)
                     81: #define B_PARTITIONSHIFT       8
                     82: #define B_PARTITIONMASK                0xff
                     83: #define        B_PARTITION(val)        (((val) >> B_PARTITIONSHIFT) & B_PARTITIONMASK)
                     84: #define        B_TYPESHIFT             0
                     85: #define        B_TYPEMASK              0xff
                     86: #define        B_TYPE(val)             (((val) >> B_TYPESHIFT) & B_TYPEMASK)
                     87:
1.7       mycroft    88: #define        B_MAGICMASK     0xf0000000
                     89: #define        B_DEVMAGIC      0xa0000000
1.1       cgd        90:
                     91: #define MAKEBOOTDEV(type, adaptor, controller, unit, partition) \
                     92:        (((type) << B_TYPESHIFT) | ((adaptor) << B_ADAPTORSHIFT) | \
                     93:        ((controller) << B_CONTROLLERSHIFT) | ((unit) << B_UNITSHIFT) | \
                     94:        ((partition) << B_PARTITIONSHIFT) | B_DEVMAGIC)
1.9       christos   95:
                     96: #ifdef _KERNEL
                     97:
                     98: __BEGIN_DECLS
                     99:
1.13      gwr       100: void   cpu_reboot __P((int, char *))
1.9       christos  101:     __attribute__((__noreturn__));
                    102:
                    103: __END_DECLS
                    104:
                    105: #endif /* _KERNEL */
                    106:
1.12      mikel     107: #endif /* !_SYS_REBOOT_H_ */

CVSweb <webmaster@jp.NetBSD.org>