source: mainline/boot/arch/ia64/loader/gefi/apps/t.c@ abe6163

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since abe6163 was 7208b6c, checked in by Jakub Vana <jakub.vana@…>, 18 years ago

Basic IA64 boot and kernel suport for real machines

  • Property mode set to 100644
File size: 1.8 KB
Line 
1#define EFI_SUCCESS 0
2
3typedef short CHAR16;
4typedef unsigned long UINTN;
5typedef unsigned long long UINT64;
6typedef unsigned int UINT32;
7typedef void * EFI_HANDLE;
8typedef UINTN EFI_STATUS;
9
10typedef struct _EFI_TABLE_HEARDER {
11 UINT64 Signature;
12 UINT32 Revision;
13 UINT32 HeaderSize;
14 UINT32 CRC32;
15 UINT32 Reserved;
16} EFI_TABLE_HEADER;
17
18typedef EFI_STATUS (*EFI_TEXT_STRING) (void *This, CHAR16 *String);
19
20typedef struct _SIMPLE_TEXT_OUTPUT_INTERFACE {
21 void * Reset;
22
23 EFI_TEXT_STRING OutputString;
24} SIMPLE_TEXT_OUTPUT_INTERFACE;
25
26typedef struct _EFI_SYSTEM_TABLE {
27 EFI_TABLE_HEADER Hdr;
28
29 CHAR16 *FirmwareVendor;
30 UINT32 FirmwareRevision;
31
32 EFI_HANDLE ConsoleInHandle;
33 /*SIMPLE_INPUT_INTERFACE*/ void *ConIn;
34
35 EFI_HANDLE ConsoleOutHandle;
36 SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut;
37
38 EFI_HANDLE StandardErrorHandle;
39 SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr;
40
41 /*EFI_RUNTIME_SERVICES*/ void *RuntimeServices;
42 /*EFI_BOOT_SERVICES*/ void *BootServices;
43
44 UINTN NumberOfTableEntries;
45 /*EFI_CONFIGURATION_TABLE*/void *ConfigurationTable;
46
47} EFI_SYSTEM_TABLE;
48
49static CHAR16 *
50a2u (char *str)
51{
52 static CHAR16 mem[2048];
53 int i;
54
55 for (i = 0; str[i]; ++i)
56 mem[i] = (CHAR16) str[i];
57 mem[i] = 0;
58 return mem;
59}
60
61EFI_STATUS
62efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab)
63{
64 SIMPLE_TEXT_OUTPUT_INTERFACE *conout;
65
66 conout = systab->ConOut;
67 conout->OutputString(conout, (CHAR16 *)L"Hello World!\n\r");
68 conout->OutputString(conout, a2u("Hello World!\n\r"));
69
70 return EFI_SUCCESS;
71}
Note: See TracBrowser for help on using the repository browser.