]> git.saurik.com Git - apple/boot.git/blob - gen/libsa/mach.c
boot-93.tar.gz
[apple/boot.git] / gen / libsa / mach.c
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Portions Copyright (c) 1999 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 1.1 (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 /* mach simulation */
25
26 #import "libsa.h"
27
28 port_t task_self_;
29
30 char *mach_error_string(int errnum)
31 {
32 extern char *strerror(int errnum);
33
34 return strerror(errnum);
35 }
36
37 kern_return_t vm_allocate(
38 vm_task_t target_task,
39 vm_address_t *address,
40 vm_size_t size,
41 boolean_t anywhere
42 )
43 {
44 *address = (vm_address_t)malloc(size);
45 if (*address == 0)
46 return KERN_FAILURE;
47 else {
48 bzero(*address, size);
49 return KERN_SUCCESS;
50 }
51 }
52
53 kern_return_t vm_deallocate(
54 vm_task_t target_task,
55 vm_address_t address,
56 vm_size_t size
57 )
58 {
59 free((void *)address);
60 return KERN_SUCCESS;
61 }
62
63 vm_size_t vm_page_size = 8192;
64
65 kern_return_t host_info(
66 host_t host,
67 int flavor,
68 host_info_t host_info,
69 unsigned int *host_info_count
70 )
71 {
72 host_basic_info_t hi = (host_basic_info_t) host_info;
73
74 switch(flavor) {
75 case HOST_BASIC_INFO:
76 hi->max_cpus = 1;
77 hi->avail_cpus = 1;
78 // hi->memory_size =
79 // (kernBootStruct->convmem + kernBootStruct->extmem) * 1024;
80 hi->memory_size = 0;
81 hi->cpu_type = CPU_TYPE_I386;
82 hi->cpu_subtype = CPU_SUBTYPE_486;
83 break;
84 case HOST_PROCESSOR_SLOTS:
85 break;
86 case HOST_SCHED_INFO:
87 break;
88 }
89 return KERN_SUCCESS;
90 }
91
92 host_t host_self(void)
93 {
94 return 0;
95 }
96
97 int getpagesize(void)
98 {
99 return vm_page_size;
100 }