forked from KolibriOS/kolibrios
kernel: Don't read acpi_dev_* vars that if uninitialized.
Currently only uefi4kos loader initializes these variables. May be one day BIOS loaders will load DEVICES.DAT file and initialize these vars too, may be one day we will detect APIC IRQs via ACPI. But not today. git-svn-id: svn://kolibrios.org@8117 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
70798cbfe0
commit
8e5b79b154
@ -825,7 +825,7 @@ for i,v in ipairs(distr_extra_files) do
|
||||
end
|
||||
|
||||
-- generate command and dependencies for kolibri.raw
|
||||
input_deps = {"kolibri.img", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32.bin", "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin", "../kernel/trunk/kernel.mnt.ext_loader"}
|
||||
input_deps = {"kolibri.img", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin", "../kernel/trunk/kernel.mnt.ext_loader"}
|
||||
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
|
||||
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1048576 count=64 2>&1"
|
||||
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable msdos"
|
||||
@ -835,7 +835,7 @@ bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.
|
||||
make_raw_command = make_raw_command .. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T 129024 -h 16 -s 32 -H 2048 -c 1 -F -B " .. bootsector .. " ::"
|
||||
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/kernel.mnt.ext_loader ::KERNEL.MNT"
|
||||
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M kolibri.img ::KOLIBRI.IMG"
|
||||
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32.bin ::KORDLDR.F32"
|
||||
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32 ::KORDLDR.F32"
|
||||
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/extended_primary_loader/config.ini ::CONFIG.INI"
|
||||
|
||||
make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M ::KOLIBRIOS'
|
||||
|
@ -1,3 +1,3 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
tup.rule("bootsect.asm", "fasm %f %o", "bootsect.bin")
|
||||
tup.rule("kordldr.f32.asm", "fasm %f %o", "kordldr.f32.bin")
|
||||
tup.rule("kordldr.f32.asm", "fasm %f %o", "kordldr.f32")
|
||||
|
@ -55,12 +55,15 @@ APIC_init:
|
||||
cmp [acpi_lapic_base], 0
|
||||
jz .no_apic
|
||||
|
||||
; non-UEFI loaders don't load DEVICES.DAT and don't initialize [acpi_dev_size]
|
||||
if defined UEFI
|
||||
cmp [acpi_dev_size], 0
|
||||
jz @f
|
||||
stdcall map_io_mem, [acpi_dev_data], [acpi_dev_size], PG_SWR
|
||||
mov [acpi_dev_data], eax
|
||||
jmp .loaded
|
||||
@@:
|
||||
end if
|
||||
|
||||
stdcall load_file, dev_data_path
|
||||
test eax, eax
|
||||
|
Loading…
Reference in New Issue
Block a user