Subversion Repositories Kolibri OS

Rev

Rev 8220 | Rev 9227 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8220 Rev 8284
Line 22... Line 22...
22
LIP_BUFFER_SIZE = 0x100
22
LIP_BUFFER_SIZE = 0x100
23
FILE_BUFFER_SIZE = 0x1000
23
FILE_BUFFER_SIZE = 0x1000
Line 24... Line 24...
24
 
24
 
25
KERNEL_BASE  =  0x10000
25
KERNEL_BASE  =  0x10000
-
 
26
RAMDISK_BASE = 0x100000
Line 26... Line 27...
26
RAMDISK_BASE = 0x100000
27
MAX_FILE_SIZE = 0x10000000
27
 
28
 
Line 28... Line 29...
28
CODE_32_SELECTOR = 8
29
CODE_32_SELECTOR = 8
Line 408... Line 409...
408
        call    read_options_from_config
409
        call    read_options_from_config
Line 409... Line 410...
409
 
410
 
410
        mov     eax, [esi+EFI_SYSTEM_TABLE.ConOut]
411
        mov     eax, [esi+EFI_SYSTEM_TABLE.ConOut]
411
        ccall   [eax+EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString], eax, \
412
        ccall   [eax+EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString], eax, \
412
                msg_load_kernel
413
                msg_load_kernel
Line 413... Line 414...
413
        stdcall load_file, [esp_root], kernel_name, KERNEL_BASE, -1, 1
414
        stdcall load_file, [esp_root], kernel_name, KERNEL_BASE, MAX_FILE_SIZE, 1
414
 
415
 
415
        mov     eax, [esi+EFI_SYSTEM_TABLE.ConOut]
416
        mov     eax, [esi+EFI_SYSTEM_TABLE.ConOut]
416
        ccall   [eax+EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString], eax, \
417
        ccall   [eax+EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString], eax, \
Line 417... Line 418...
417
                msg_load_ramdisk
418
                msg_load_ramdisk
418
        stdcall load_file, [esp_root], ramdisk_name, RAMDISK_BASE, -1, 1
419
        stdcall load_file, [esp_root], ramdisk_name, RAMDISK_BASE, MAX_FILE_SIZE, 1
419
 
420
 
Line 843... Line 844...
843
        rep stosw
844
        rep stosw
844
        popad
845
        popad
845
        ret
846
        ret
846
endp
847
endp
Line 847... Line 848...
847
 
848
 
848
section '.data' data readable writeable
849
section '.rodata' data readable
849
efi_handle dd 0
-
 
850
efi_table  dd 0
-
 
851
 
850
align 16
852
GDTR:
851
GDTR:
853
        dw 3*8-1
852
        dw 3*8-1
-
 
853
        dq GDT
854
        dq GDT
854
align 16
855
GDT:
855
GDT:
856
        dw 0, 0, 0, 0
856
        dw 0, 0, 0, 0
857
        dw 0FFFFh,0,9A00h,0CFh          ; 32-bit code
857
        dw 0FFFFh,0,9A00h,0CFh          ; 32-bit code
Line 858... Line -...
858
        dw 0FFFFh,0,9200h,0CFh          ; flat data
-
 
859
 
-
 
860
 
-
 
861
fb_base         dd 0
858
        dw 0FFFFh,0,9200h,0CFh          ; flat data
862
 
-
 
863
gopuuid         db EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
-
 
864
gop_buffer_size dd GOP_BUFFER_SIZE
-
 
865
gop_handle      dd 0
-
 
866
gop_interface   dd 0
-
 
867
gop_info_size   dd 0
-
 
868
gop_info        dd 0
859
 
869
 
-
 
870
lipuuid         db EFI_LOADED_IMAGE_PROTOCOL_GUID
-
 
871
lip_buffer_size dd LIP_BUFFER_SIZE
-
 
872
lip_handle      dd 0
-
 
873
lip_interface   dd 0
860
gopuuid         db EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
874
 
-
 
Line 875... Line -...
875
sfspguid        db EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
-
 
876
sfsp_interface  dd 0
-
 
877
 
861
lipuuid         db EFI_LOADED_IMAGE_PROTOCOL_GUID
878
esp_root        dd ?
862
sfspguid        db EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
879
file_handle     dd ?
863
 
880
file_name       du "\EFI\KOLIBRIOS\KOLIBRI.INI",0
864
file_name       du "\EFI\KOLIBRIOS\KOLIBRI.INI",0
881
kernel_name     du "\EFI\KOLIBRIOS\KOLIBRI.KRN",0
-
 
Line 882... Line 865...
882
ramdisk_name    du "\EFI\KOLIBRIOS\KOLIBRI.IMG",0
865
kernel_name     du "\EFI\KOLIBRIOS\KOLIBRI.KRN",0
883
devicesdat_name du "\EFI\KOLIBRIOS\DEVICES.DAT",0
866
ramdisk_name    du "\EFI\KOLIBRIOS\KOLIBRI.IMG",0
884
file_buffer_size dd FILE_BUFFER_SIZE-1  ; leave the last byte for \0
867
devicesdat_name du "\EFI\KOLIBRIOS\DEVICES.DAT",0
885
 
868
 
Line 920... Line 903...
920
cfg_opt_cmnt_ask_params     db "# Interrupt booting to ask the user for boot", \
903
cfg_opt_cmnt_ask_params     db "# Interrupt booting to ask the user for boot", \
921
                               " params",0
904
                               " params",0
922
cfg_opt_cmnt_imgfrom        db "# Where to load ramdisk image from",0
905
cfg_opt_cmnt_imgfrom        db "# Where to load ramdisk image from",0
923
cfg_opt_cmnt_syspath        db "# Path to /sys directory",0
906
cfg_opt_cmnt_syspath        db "# Path to /sys directory",0
Line 924... Line -...
924
 
-
 
925
cfg_opt_used_resolution     db 0
-
 
926
cfg_opt_used_acpi           db 0
-
 
927
cfg_opt_used_debug_print    db 0
-
 
928
cfg_opt_used_launcher_start db 0
-
 
929
cfg_opt_used_mtrr           db 0
-
 
930
cfg_opt_used_ask_params     db 0
-
 
931
cfg_opt_used_imgfrom        db 0
-
 
932
cfg_opt_used_syspath        db 0
-
 
933
 
-
 
934
cfg_opt_value_vmode          db 0
-
 
935
cfg_opt_value_acpi           db 0
-
 
936
cfg_opt_value_debug_print    db 0
-
 
937
cfg_opt_value_launcher_start db 1
-
 
938
cfg_opt_value_mtrr           db 0
-
 
939
cfg_opt_value_ask_params     db 0
-
 
940
cfg_opt_value_imgfrom        db RD_LOAD_FROM_MEMORY
-
 
941
cfg_opt_value_syspath        db "/RD/1",0
-
 
942
                             rb 20
-
 
943
 
-
 
944
memory_map_key  dd 0
-
 
945
descriptor_size dd 0
-
 
946
descriptor_ver  dd 0
-
 
947
memory_map_size dd MEMORY_MAP_SIZE
-
 
948
 
907
 
949
msg_u4k_loaded            du "uefi32kos loaded",13,10,0
908
msg_u4k_loaded            du "uefi32kos loaded",13,10,0
950
msg_read_options          du "Read options from config file",13,10,0
909
msg_read_options          du "Read options from config file",13,10,0
951
msg_load_kernel           du "Load kernel",13,10,0
910
msg_load_kernel           du "Load kernel",13,10,0
952
msg_load_ramdisk          du "Load ramdisk",13,10,0
911
msg_load_ramdisk          du "Load ramdisk",13,10,0
Line 969... Line 928...
969
msg_error_no_such_vmode   du "No such vmode",13,10,0
928
msg_error_no_such_vmode   du "No such vmode",13,10,0
970
msg_error_out_of_handlers du "Out of handlers",13,10,0
929
msg_error_out_of_handlers du "Out of handlers",13,10,0
971
msg_error_open_file       du "Error: can't open file ",0
930
msg_error_open_file       du "Error: can't open file ",0
972
msg                       du 79 dup " ",13,10,0
931
msg                       du 79 dup " ",13,10,0
Line -... Line 932...
-
 
932
 
-
 
933
 
-
 
934
section '.data' data readable writeable
-
 
935
efi_handle dd 0
-
 
936
efi_table  dd 0
-
 
937
 
-
 
938
fb_base         dd 0
-
 
939
 
-
 
940
gop_buffer_size dd GOP_BUFFER_SIZE
-
 
941
gop_handle      dd 0
-
 
942
gop_interface   dd 0
-
 
943
gop_info_size   dd 0
-
 
944
gop_info        dd 0
-
 
945
 
-
 
946
lip_buffer_size dd LIP_BUFFER_SIZE
-
 
947
lip_handle      dd 0
-
 
948
lip_interface   dd 0
-
 
949
 
-
 
950
sfsp_interface  dd 0
-
 
951
 
-
 
952
esp_root        dd ?
-
 
953
file_handle     dd ?
-
 
954
file_buffer_size dd FILE_BUFFER_SIZE-1  ; leave the last byte for \0
-
 
955
 
-
 
956
cfg_opt_used_resolution     db 0
-
 
957
cfg_opt_used_acpi           db 0
-
 
958
cfg_opt_used_debug_print    db 0
-
 
959
cfg_opt_used_launcher_start db 0
-
 
960
cfg_opt_used_mtrr           db 0
-
 
961
cfg_opt_used_ask_params     db 0
-
 
962
cfg_opt_used_imgfrom        db 0
-
 
963
cfg_opt_used_syspath        db 0
-
 
964
 
-
 
965
cfg_opt_value_vmode          db 0
-
 
966
cfg_opt_value_acpi           db 0
-
 
967
cfg_opt_value_debug_print    db 0
-
 
968
cfg_opt_value_launcher_start db 1
-
 
969
cfg_opt_value_mtrr           db 0
-
 
970
cfg_opt_value_ask_params     db 0
-
 
971
cfg_opt_value_imgfrom        db RD_LOAD_FROM_MEMORY
-
 
972
cfg_opt_value_syspath        db "/RD/1",0
-
 
973
                             rb 20
-
 
974
 
-
 
975
memory_map_key  dd 0
-
 
976
descriptor_size dd 0
-
 
977
descriptor_ver  dd 0
-
 
978
memory_map_size dd MEMORY_MAP_SIZE
973
 
979
 
974
efi_fs_info_id db EFI_FILE_SYSTEM_INFO_ID
980
efi_fs_info_id db EFI_FILE_SYSTEM_INFO_ID
975
efi_fs_info_size dq sizeof.EFI_FILE_SYSTEM_INFO
981
efi_fs_info_size dq sizeof.EFI_FILE_SYSTEM_INFO
Line 976... Line 982...
976
efi_fs_info EFI_FILE_SYSTEM_INFO
982
efi_fs_info EFI_FILE_SYSTEM_INFO