Mercurial > hg > Members > taiki > EFIKernel
comparison boot/bootx64.c @ 21:e3accb15b1bb default tip
add alloc and loader.
author | taiki |
---|---|
date | Mon, 11 Feb 2013 04:30:42 +0900 |
parents | 5e184d4c01b8 |
children |
comparison
equal
deleted
inserted
replaced
20:5e184d4c01b8 | 21:e3accb15b1bb |
---|---|
6 */ | 6 */ |
7 | 7 |
8 #include "bootx64.h" | 8 #include "bootx64.h" |
9 #include "mach-o/mach_o.h" | 9 #include "mach-o/mach_o.h" |
10 | 10 |
11 extern EFI_STATUS open(fs_t *fs, EFI_FILE_HANDLE *fd, CHAR16 *name); | 11 extern EFI_STATUS open(fs_interface_t *this, EFI_FILE_HANDLE *fd, CHAR16 *name); |
12 extern EFI_STATUS close(fs_t *fs, EFI_FILE_HANDLE *fd); | 12 extern EFI_STATUS close(fs_t *fs, EFI_FILE_HANDLE *fd); |
13 extern EFI_STATUS read(fs_t *fs, EFI_FILE_HANDLE *fd, VOID *buf, UINTN *size); | 13 extern EFI_STATUS read(fs_t *fs, EFI_FILE_HANDLE *fd, VOID *buf, UINTN *size); |
14 extern EFI_STATUS seek(fs_t *fs, EFI_FILE_HANDLE *fd, UINTN newpos); | 14 extern EFI_STATUS seek(fs_t *fs, EFI_FILE_HANDLE *fd, UINTN newpos); |
15 extern EFI_STATUS load(fs_t *fs, EFI_FILE_HANDLE *fd, CHAR16 *kname); | 15 extern EFI_STATUS load(fs_t *fs, EFI_FILE_HANDLE *fd, CHAR16 *kname); |
16 extern EFI_STATUS config_fs(fs_t *fs,EFI_HANDLE boot_handle, dev_tab_t *boot_dev); | 16 extern EFI_STATUS config_fs(fs_t *fs,EFI_HANDLE boot_handle, dev_tab_t *boot_dev); |
41 return EFI_LOAD_ERROR; | 41 return EFI_LOAD_ERROR; |
42 } | 42 } |
43 | 43 |
44 fs_t fs; | 44 fs_t fs; |
45 dev_tab_t boot_dev; | 45 dev_tab_t boot_dev; |
46 fs_interface_t fsi; | |
47 | |
46 status = config_fs(&fs, info->DeviceHandle ,&boot_dev); | 48 status = config_fs(&fs, info->DeviceHandle ,&boot_dev); |
47 | 49 |
48 EFI_FILE_HANDLE fd; | 50 EFI_FILE_HANDLE fd; |
49 open(&fs, &fd, kname); | 51 open(&fsi, &fd, kname); |
50 | 52 |
51 load(&fs, &fd, kname); | 53 load(&fs, &fd, kname); |
52 | 54 |
53 close(&fs, &fd); | 55 close(&fs, &fd); |
54 | 56 |