1213136Spjd/*-
2213136Spjd * Copyright (c) 1998 Robert Nordier
3213136Spjd * All rights reserved.
4213136Spjd *
5213136Spjd * Redistribution and use in source and binary forms are freely
6213136Spjd * permitted provided that the above copyright notice and this
7213136Spjd * paragraph and the following disclaimer are duplicated in all
8213136Spjd * such forms.
9213136Spjd *
10213136Spjd * This software is provided "AS IS" and without any express or
11213136Spjd * implied warranties, including, without limitation, the implied
12213136Spjd * warranties of merchantability and fitness for a particular
13213136Spjd * purpose.
14213136Spjd *
15213136Spjd * $FreeBSD: releng/10.2/sys/boot/i386/common/rbx.h 213136 2010-09-24 19:49:12Z pjd $
16213136Spjd */
17213136Spjd
18213136Spjd#ifndef _RBX_H_
19213136Spjd#define	_RBX_H_
20213136Spjd
21213136Spjd#define RBX_ASKNAME	0x0	/* -a */
22213136Spjd#define RBX_SINGLE	0x1	/* -s */
23213136Spjd/* 0x2 is reserved for log2(RB_NOSYNC). */
24213136Spjd/* 0x3 is reserved for log2(RB_HALT). */
25213136Spjd/* 0x4 is reserved for log2(RB_INITNAME). */
26213136Spjd#define RBX_DFLTROOT	0x5	/* -r */
27213136Spjd#define RBX_KDB 	0x6	/* -d */
28213136Spjd/* 0x7 is reserved for log2(RB_RDONLY). */
29213136Spjd/* 0x8 is reserved for log2(RB_DUMP). */
30213136Spjd/* 0x9 is reserved for log2(RB_MINIROOT). */
31213136Spjd#define RBX_CONFIG	0xa	/* -c */
32213136Spjd#define RBX_VERBOSE	0xb	/* -v */
33213136Spjd#define RBX_SERIAL	0xc	/* -h */
34213136Spjd#define RBX_CDROM	0xd	/* -C */
35213136Spjd/* 0xe is reserved for log2(RB_POWEROFF). */
36213136Spjd#define RBX_GDB 	0xf	/* -g */
37213136Spjd#define RBX_MUTE	0x10	/* -m */
38213136Spjd/* 0x11 is reserved for log2(RB_SELFTEST). */
39213136Spjd/* 0x12 is reserved for boot programs. */
40213136Spjd/* 0x13 is reserved for boot programs. */
41213136Spjd#define RBX_PAUSE	0x14	/* -p */
42213136Spjd#define RBX_QUIET	0x15	/* -q */
43213136Spjd#define RBX_NOINTR	0x1c	/* -n */
44213136Spjd/* 0x1d is reserved for log2(RB_MULTIPLE) and is just misnamed here. */
45213136Spjd#define RBX_DUAL	0x1d	/* -D */
46213136Spjd/* 0x1f is reserved for log2(RB_BOOTINFO). */
47213136Spjd
48213136Spjd/* pass: -a, -s, -r, -d, -c, -v, -h, -C, -g, -m, -p, -D */
49213136Spjd#define RBX_MASK	(OPT_SET(RBX_ASKNAME) | OPT_SET(RBX_SINGLE) | \
50213136Spjd			OPT_SET(RBX_DFLTROOT) | OPT_SET(RBX_KDB ) | \
51213136Spjd			OPT_SET(RBX_CONFIG) | OPT_SET(RBX_VERBOSE) | \
52213136Spjd			OPT_SET(RBX_SERIAL) | OPT_SET(RBX_CDROM) | \
53213136Spjd			OPT_SET(RBX_GDB ) | OPT_SET(RBX_MUTE) | \
54213136Spjd			OPT_SET(RBX_PAUSE) | OPT_SET(RBX_DUAL))
55213136Spjd
56213136Spjd#define OPT_SET(opt)	(1 << (opt))
57213136Spjd#define OPT_CHECK(opt)	((opts) & OPT_SET(opt))
58213136Spjd
59213136Spjdextern uint32_t opts;
60213136Spjd
61213136Spjd#endif	/* !_RBX_H_ */
62