Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/arch/i386/libsaio/bios.h

Source at commit 1407 created 12 years 10 months ago.
By meklort, Revert drivers.c so that kexts are only loaded when OSBundleRequired is set and that value is not safe mode.
1/*
2 * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 2.0 (the "License"). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
12 * this file.
13 *
14 * The Original Code and all software distributed under the License are
15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
20 * under the License.
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24/*
25 * Copyright 1994 NeXT Computer, Inc.
26 * All rights reserved.
27 */
28
29#ifndef __LIBSAIO_BIOS_H
30#define __LIBSAIO_BIOS_H
31
32
33typedef union {
34 unsigned int rx;
35 unsigned short rr;
36 struct {
37 unsigned char l;
38 unsigned char h;
39 } r;
40} machineRegister_t;
41
42typedef struct {
43 unsigned short cf :1;
44 unsigned short :1;
45 unsigned short pf :1;
46 unsigned short :1;
47 unsigned short af :1;
48 unsigned short :1;
49 unsigned short zf :1;
50 unsigned short sf :1;
51 unsigned short tf :1;
52 unsigned short _if :1;
53 unsigned short df :1;
54 unsigned short of :1;
55 unsigned short iopl:2;
56 unsigned short nt :1;
57} machineFlags_t;
58
59typedef struct {
60 unsigned int intno;
61 machineRegister_t eax;
62 machineRegister_t ebx;
63 machineRegister_t ecx;
64 machineRegister_t edx;
65 machineRegister_t edi;
66 machineRegister_t esi;
67 machineRegister_t ebp;
68 unsigned short cs;
69 unsigned short ds;
70 unsigned short es;
71 machineFlags_t flags;
72} biosBuf_t;
73
74#define EBIOS_FIXED_DISK_ACCESS 0x01
75#define EBIOS_LOCKING_ACCESS 0x02
76#define EBIOS_ENHANCED_DRIVE_INFO 0x04
77
78#define BASE_HD_DRIVE 0x80
79
80#if 0
81/*
82 * ACPI defined memory range types.
83 */
84enum {
85 kMemoryRangeUsable = 1, // RAM usable by the OS.
86 kMemoryRangeReserved = 2, // Reserved. (Do not use)
87 kMemoryRangeACPI = 3, // ACPI tables. Can be reclaimed.
88 kMemoryRangeNVS = 4, // ACPI NVS memory. (Do not use)
89
90 /* Undefined types should be treated as kMemoryRangeReserved */
91};
92#endif
93
94/*
95 * Memory range descriptor.
96 */
97typedef struct MemoryRange {
98 unsigned long long base; // 64-bit base address
99 unsigned long long length; // 64-bit length in bytes
100 unsigned long type; // type of memory range
101 unsigned long reserved;
102} MemoryRange;
103
104
105/*
106 * ACPI defined memory range types.
107 */
108enum {
109 kMemoryRangeUsable = 1, // RAM usable by the OS.
110 kMemoryRangeReserved = 2, // Reserved. (Do not use)
111 kMemoryRangeACPI = 3, // ACPI tables. Can be reclaimed.
112 kMemoryRangeNVS = 4, // ACPI NVS memory. (Do not use)
113
114 /* Undefined types should be treated as kMemoryRangeReserved */
115};
116
117#endif /* !__LIBSAIO_BIOS_H */
118

Archive Download this file

Revision: 1407