diff --git a/data/Tupfile.lua b/data/Tupfile.lua index d80c9b0f18..2fc1deb4e1 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -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' diff --git a/kernel/trunk/bootloader/extended_primary_loader/fat32/Tupfile.lua b/kernel/trunk/bootloader/extended_primary_loader/fat32/Tupfile.lua index 5a4b92f2b4..4b40451ef8 100644 --- a/kernel/trunk/bootloader/extended_primary_loader/fat32/Tupfile.lua +++ b/kernel/trunk/bootloader/extended_primary_loader/fat32/Tupfile.lua @@ -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") diff --git a/kernel/trunk/core/apic.inc b/kernel/trunk/core/apic.inc index 4912df6bba..d6dbc297cd 100644 --- a/kernel/trunk/core/apic.inc +++ b/kernel/trunk/core/apic.inc @@ -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