]>
git.saurik.com Git - apple/boot.git/blob - i386/libsaio/bios.h
2 * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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
22 * @APPLE_LICENSE_HEADER_END@
25 * Copyright 1994 NeXT Computer, Inc.
26 * All rights reserved.
29 #ifndef __LIBSAIO_BIOS_H
30 #define __LIBSAIO_BIOS_H
32 #include <pexpert/i386/boot.h>
53 unsigned short _if
:1;
56 unsigned short iopl
:2;
62 machineRegister_t eax
;
63 machineRegister_t ebx
;
64 machineRegister_t ecx
;
65 machineRegister_t edx
;
66 machineRegister_t edi
;
67 machineRegister_t esi
;
68 machineRegister_t ebp
;
75 #define EBIOS_FIXED_DISK_ACCESS 0x01
76 #define EBIOS_LOCKING_ACCESS 0x02
77 #define EBIOS_ENHANCED_DRIVE_INFO 0x04
79 #define BASE_HD_DRIVE 0x80
83 * ACPI defined memory range types.
86 kMemoryRangeUsable
= 1, // RAM usable by the OS.
87 kMemoryRangeReserved
= 2, // Reserved. (Do not use)
88 kMemoryRangeACPI
= 3, // ACPI tables. Can be reclaimed.
89 kMemoryRangeNVS
= 4, // ACPI NVS memory. (Do not use)
91 /* Undefined types should be treated as kMemoryRangeReserved */
96 * Memory range descriptor.
98 typedef struct MemoryRange
{
99 unsigned long long base
; // 64-bit base address
100 unsigned long long length
; // 64-bit length in bytes
101 unsigned long type
; // type of memory range
102 unsigned long reserved
;
105 #endif /* !__LIBSAIO_BIOS_H */