diff --git a/headers/private/kernel/boot/stage2.h b/headers/private/kernel/boot/stage2.h index 74fbfcbc7b..1c0763d7e4 100644 --- a/headers/private/kernel/boot/stage2.h +++ b/headers/private/kernel/boot/stage2.h @@ -13,7 +13,7 @@ struct stage2_args; extern struct kernel_args gKernelArgs; -extern KMessage gBootVolume; +extern KMessage gBootParams; #ifdef __cplusplus extern "C" { diff --git a/src/system/boot/loader/file_systems/tarfs/tarfs.cpp b/src/system/boot/loader/file_systems/tarfs/tarfs.cpp index fab1199b3b..76e260f010 100644 --- a/src/system/boot/loader/file_systems/tarfs/tarfs.cpp +++ b/src/system/boot/loader/file_systems/tarfs/tarfs.cpp @@ -734,7 +734,7 @@ TarFS::Volume::Init(boot::Partition* partition) return status; regionDeleter.Detach(); - int32 bootMethod = gBootVolume.GetInt32(BOOT_METHOD, BOOT_METHOD_DEFAULT); + int32 bootMethod = gBootParams.GetInt32(BOOT_METHOD, BOOT_METHOD_DEFAULT); switch (bootMethod) { case BOOT_METHOD_CD: fName = "CD-ROM"; diff --git a/src/system/boot/loader/kernel_args.cpp b/src/system/boot/loader/kernel_args.cpp index f5db893645..88da72b26c 100644 --- a/src/system/boot/loader/kernel_args.cpp +++ b/src/system/boot/loader/kernel_args.cpp @@ -19,7 +19,7 @@ static const size_t kChunkSize = 16 * B_PAGE_SIZE; kernel_args gKernelArgs; -KMessage gBootVolume; +KMessage gBootParams; static void* sFirstFree; static void* sLast; diff --git a/src/system/boot/loader/main.cpp b/src/system/boot/loader/main.cpp index 230dd59a1b..f5103034c8 100644 --- a/src/system/boot/loader/main.cpp +++ b/src/system/boot/loader/main.cpp @@ -149,16 +149,16 @@ main(stage2_args *args) // clone the boot_volume KMessage into kernel accessible memory // note, that we need to 8-byte align the buffer and thus allocate // 7 more bytes - void* buffer = kernel_args_malloc(gBootVolume.ContentSize() + 7); + void* buffer = kernel_args_malloc(gBootParams.ContentSize() + 7); if (!buffer) { panic("Could not allocate memory for the boot volume kernel " "arguments"); } buffer = (void*)(((addr_t)buffer + 7) & ~(addr_t)0x7); - memcpy(buffer, gBootVolume.Buffer(), gBootVolume.ContentSize()); + memcpy(buffer, gBootParams.Buffer(), gBootParams.ContentSize()); gKernelArgs.boot_volume = buffer; - gKernelArgs.boot_volume_size = gBootVolume.ContentSize(); + gKernelArgs.boot_volume_size = gBootParams.ContentSize(); platform_cleanup_devices(); // Further cleanup (e.g. heap_release) is the platform's responsibility. diff --git a/src/system/boot/loader/menu.cpp b/src/system/boot/loader/menu.cpp index e8121d1b1b..b7fe3f8f98 100644 --- a/src/system/boot/loader/menu.cpp +++ b/src/system/boot/loader/menu.cpp @@ -958,7 +958,7 @@ user_menu_boot_volume(Menu* menu, MenuItem* item) status_t status = sBootVolume->SetTo((Directory*)item->Data()); update_continue_booting_menu_item(status); - gBootVolume.SetBool(BOOT_VOLUME_USER_SELECTED, true); + gBootParams.SetBool(BOOT_VOLUME_USER_SELECTED, true); return true; } @@ -985,7 +985,7 @@ user_menu_boot_volume_state(Menu* menu, MenuItem* _item) item->VolumeInfo(), item->VolumeState()); update_continue_booting_menu_item(status); - gBootVolume.SetBool(BOOT_VOLUME_USER_SELECTED, true); + gBootParams.SetBool(BOOT_VOLUME_USER_SELECTED, true); return true; } @@ -1294,8 +1294,8 @@ add_boot_volume_menu() menu->AddItem(item = new(nothrow) MenuItem("Return to main menu")); item->SetType(MENU_ITEM_NO_CHOICE); - if (gBootVolume.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false)) { - int32 bootMethod = gBootVolume.GetInt32(BOOT_METHOD, BOOT_METHOD_DEFAULT); + if (gBootParams.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false)) { + int32 bootMethod = gBootParams.GetInt32(BOOT_METHOD, BOOT_METHOD_DEFAULT); switch (bootMethod) { case BOOT_METHOD_CD: menu->SetChoiceText("CD-ROM"); diff --git a/src/system/boot/loader/partitions.cpp b/src/system/boot/loader/partitions.cpp index 651bf33c36..2319ac09ff 100644 --- a/src/system/boot/loader/partitions.cpp +++ b/src/system/boot/loader/partitions.cpp @@ -294,7 +294,7 @@ Partition::_Mount(file_system_module_info *module, Directory **_fileSystem) status_t Partition::Mount(Directory **_fileSystem, bool isBootDevice) { - if (isBootDevice && gBootVolume.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, + if (isBootDevice && gBootParams.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false)) { return _Mount(&gTarFileSystemModule, _fileSystem); } @@ -319,7 +319,7 @@ Partition::Scan(bool mountFileSystems, bool isBootDevice) // if we were not booted from the real boot device, we won't scan // the device we were booted from (which is likely to be a slow // floppy or CD) - if (isBootDevice && gBootVolume.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, + if (isBootDevice && gBootParams.GetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false)) { return B_ENTRY_NOT_FOUND; } diff --git a/src/system/boot/loader/vfs.cpp b/src/system/boot/loader/vfs.cpp index 4ed2f6afd0..9b03d187d9 100644 --- a/src/system/boot/loader/vfs.cpp +++ b/src/system/boot/loader/vfs.cpp @@ -628,14 +628,14 @@ register_boot_file_system(BootVolume& bootVolume) return status; } - gBootVolume.SetInt64(BOOT_VOLUME_PARTITION_OFFSET, + gBootParams.SetInt64(BOOT_VOLUME_PARTITION_OFFSET, partition->offset); if (bootVolume.IsPackaged()) { - gBootVolume.SetBool(BOOT_VOLUME_PACKAGED, true); + gBootParams.SetBool(BOOT_VOLUME_PACKAGED, true); PackageVolumeState* state = bootVolume.GetPackageVolumeState(); if (state->Name() != NULL) - gBootVolume.AddString(BOOT_VOLUME_PACKAGES_STATE, state->Name()); + gBootParams.AddString(BOOT_VOLUME_PACKAGES_STATE, state->Name()); } Node *device = get_node_from(partition->FD()); diff --git a/src/system/boot/platform/amiga_m68k/devices.cpp b/src/system/boot/platform/amiga_m68k/devices.cpp index ef33682aff..765df296d3 100644 --- a/src/system/boot/platform/amiga_m68k/devices.cpp +++ b/src/system/boot/platform/amiga_m68k/devices.cpp @@ -161,7 +161,7 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) TRACE(("boot drive ID: %x\n", gBootDriveID)); //TODO - gBootVolume.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); + gBootParams.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); return B_OK; } diff --git a/src/system/boot/platform/atari_m68k/devices.cpp b/src/system/boot/platform/atari_m68k/devices.cpp index 6bd9d3c6cf..4e1eb44d4b 100644 --- a/src/system/boot/platform/atari_m68k/devices.cpp +++ b/src/system/boot/platform/atari_m68k/devices.cpp @@ -1182,7 +1182,7 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) } TRACE(("boot drive size: %lld bytes\n", drive->Size())); - gBootVolume.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); + gBootParams.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); return B_OK; } @@ -1231,8 +1231,8 @@ platform_register_boot_device(Node *device) check_cd_boot(drive); #endif - gBootVolume.SetInt64("boot drive number", drive->DriveID()); - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + gBootParams.SetInt64("boot drive number", drive->DriveID()); + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &drive->Identifier(), sizeof(disk_identifier)); return B_OK; diff --git a/src/system/boot/platform/bios_ia32/devices.cpp b/src/system/boot/platform/bios_ia32/devices.cpp index fbc4cf294b..b3a5a41140 100644 --- a/src/system/boot/platform/bios_ia32/devices.cpp +++ b/src/system/boot/platform/bios_ia32/devices.cpp @@ -166,7 +166,7 @@ static bool sBlockDevicesAdded = false; static void check_cd_boot(BIOSDrive *drive) { - gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); + gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); if (drive->DriveID() != 0) return; @@ -184,7 +184,7 @@ check_cd_boot(BIOSDrive *drive) specification_packet *packet = (specification_packet *)kDataSegmentScratch; if (packet->media_type != 0) - gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_CD); + gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_CD); #if 0 dprintf("got CD boot spec:\n"); @@ -872,7 +872,7 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) } TRACE(("boot drive size: %lld bytes\n", drive->Size())); - gBootVolume.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); + gBootParams.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, gBootedFromImage); return B_OK; } @@ -918,8 +918,8 @@ platform_register_boot_device(Node *device) check_cd_boot(drive); - gBootVolume.SetInt64("boot drive number", drive->DriveID()); - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + gBootParams.SetInt64("boot drive number", drive->DriveID()); + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &drive->Identifier(), sizeof(disk_identifier)); return B_OK; diff --git a/src/system/boot/platform/efi/devices.cpp b/src/system/boot/platform/efi/devices.cpp index c2eb2c9d96..e52ef71280 100644 --- a/src/system/boot/platform/efi/devices.cpp +++ b/src/system/boot/platform/efi/devices.cpp @@ -274,8 +274,8 @@ platform_register_boot_device(Node *device) } // ...HARD_DISK, as we pick partition and have checksum (no need to use _CD) - gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &identifier, sizeof(disk_identifier)); return B_OK; diff --git a/src/system/boot/platform/openfirmware/devices.cpp b/src/system/boot/platform/openfirmware/devices.cpp index c46267604d..508fca2486 100644 --- a/src/system/boot/platform/openfirmware/devices.cpp +++ b/src/system/boot/platform/openfirmware/devices.cpp @@ -232,7 +232,7 @@ platform_register_boot_device(Node *device) disk.device_type = UNKNOWN_DEVICE; disk.device.unknown.size = device->Size(); - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &disk, + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &disk, sizeof(disk_identifier)); return B_OK; diff --git a/src/system/boot/platform/pxe_ia32/devices.cpp b/src/system/boot/platform/pxe_ia32/devices.cpp index fc735c945d..73f57ebdb3 100644 --- a/src/system/boot/platform/pxe_ia32/devices.cpp +++ b/src/system/boot/platform/pxe_ia32/devices.cpp @@ -77,8 +77,8 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList) return B_NO_MEMORY; } - gBootVolume.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, true); - gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_NET); + gBootParams.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, true); + gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_NET); devicesList->Add(disk); return B_OK; } else { @@ -155,14 +155,14 @@ platform_register_boot_device(Node *device) rootPath = fileNameEnd + 1; } - if (gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_NET) != B_OK - || gBootVolume.AddInt64("client MAC", + if (gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_NET) != B_OK + || gBootParams.AddInt64("client MAC", sTFTP.MACAddress().ToUInt64()) != B_OK - || gBootVolume.AddInt32("client IP", sTFTP.IPAddress()) != B_OK - || gBootVolume.AddInt32("server IP", sTFTP.ServerIPAddress()) != B_OK - || gBootVolume.AddInt32("server port", sTFTP.ServerPort()) != B_OK + || gBootParams.AddInt32("client IP", sTFTP.IPAddress()) != B_OK + || gBootParams.AddInt32("server IP", sTFTP.ServerIPAddress()) != B_OK + || gBootParams.AddInt32("server port", sTFTP.ServerPort()) != B_OK || (sTFTP.RootPath() - && gBootVolume.AddString("net root path", rootPath) + && gBootParams.AddString("net root path", rootPath) != B_OK)) { return B_NO_MEMORY; } diff --git a/src/system/boot/platform/riscv/devices.cpp b/src/system/boot/platform/riscv/devices.cpp index d04a0d2d9b..1c32bca10c 100644 --- a/src/system/boot/platform/riscv/devices.cpp +++ b/src/system/boot/platform/riscv/devices.cpp @@ -214,9 +214,9 @@ platform_register_boot_device(Node* device) offset); } - gBootVolume.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); - gBootVolume.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false); - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + gBootParams.SetInt32(BOOT_METHOD, BOOT_METHOD_HARD_DISK); + gBootParams.SetBool(BOOT_VOLUME_BOOTED_FROM_IMAGE, false); + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &identifier, sizeof(disk_identifier)); return B_OK; diff --git a/src/system/boot/platform/u-boot/devices.cpp b/src/system/boot/platform/u-boot/devices.cpp index aaf5206d1b..f7e9dc015b 100644 --- a/src/system/boot/platform/u-boot/devices.cpp +++ b/src/system/boot/platform/u-boot/devices.cpp @@ -86,7 +86,7 @@ platform_register_boot_device(Node *device) disk_ident.device.unknown.check_sums[i].sum = 0; } - gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + gBootParams.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, &disk_ident, sizeof(disk_ident)); return B_OK;