#
62f80a2a |
| 04-Jul-2021 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
loader: fetch all potential boot partitions for device
This also keeps the functionality of hrev53848, which simplifies the list of disks searched for bootable partitions; however, it maintains the
loader: fetch all potential boot partitions for device
This also keeps the functionality of hrev53848, which simplifies the list of disks searched for bootable partitions; however, it maintains the previous behaviour of platform_get_boot_partitions that continues to iterate over a list of possible boot partitions, which should allow finding a bootable BFS partition better in more circumstances.
Particularly, there are numerous reports of the UEFI loader entering the boot menu despite it finding a bootable partition, which this should address.
EFI's device_contains_partition is also structured such that it compares the disk GPT table of the partition the loader is querying of the EFI disk's GPT table, in the case that there are multiple disks, as the most reliable method of comparison, with a generic fallback for non-GPT disks, which will be less reliable.
This reverts commit 0d932a49ada8af6314cd3f20c3f597143f1f555d.
Change-Id: I5fac8608035d56b8bb4dc6c3d495ec6db42fa9b7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4149 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
show more ...
|
#
0d932a49 |
| 08-Feb-2020 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Revert "loader: fetch all potential boot partitions for boot device."
This reverts commit e888217124fa9fb214ffa790e6a66dca3917f25e.
Change-Id: I06be82ac863f615796d9edc86f5ef903b8123a9d Reviewed-on:
Revert "loader: fetch all potential boot partitions for boot device."
This reverts commit e888217124fa9fb214ffa790e6a66dca3917f25e.
Change-Id: I06be82ac863f615796d9edc86f5ef903b8123a9d Reviewed-on: https://review.haiku-os.org/c/haiku/+/2231 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
95958839 |
| 27-Oct-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
openfirmware: more fixes for 64bit systems.
Gets call-method working for sparc, and fix more places where we accidentally truncate 64bit values or sign-extend 32 bit ones.
Change-Id: Ic79c55ffa8d2b
openfirmware: more fixes for 64bit systems.
Gets call-method working for sparc, and fix more places where we accidentally truncate 64bit values or sign-extend 32 bit ones.
Change-Id: Ic79c55ffa8d2b475858def1639004412f17dd0c1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1986 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
show more ...
|
#
d5cd4a9d |
| 03-Apr-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
openfirmware: adjust for 64bit
Sparcv9 runs Openboot in 64 bit mode, which means the cell size is 64bit. Use intptr_t where appropriate to make the open firmware calls work.
Beware, some values are
openfirmware: adjust for 64bit
Sparcv9 runs Openboot in 64 bit mode, which means the cell size is 64bit. Use intptr_t where appropriate to make the open firmware calls work.
Beware, some values are still 32bit, this matters for example for of_getprop, if you get 32bits into a 64bit variables it will be in the MSB of it (big endian only weakness...) and confuse things. See for example in console.cpp, where the input and output handles are retrieved as 32bit values. It seems wise to check the expected size when using of_getprop in these cases, instead of just checking for errors.
Change-Id: Ie72ebc4afe7c6d7602a47478f0bfb6b8247004b8 Reviewed-on: https://review.haiku-os.org/c/1369 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
5ef70739 |
| 25-Mar-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
sparc: fix some 64bit intolerant code
Change-Id: I90bea483d7cf18696a6d5d2f18e8cada409884a2 Reviewed-on: https://review.haiku-os.org/c/1325 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
e1b41d44 |
| 13-Jun-2010 |
Andreas Faerber <andreas.faerber@web.de> |
boot loader: Wire up net_stack_cleanup()
Add a platform cleanup hook before starting the kernel. The openfirmware and PXE loaders clean up their network stack there, while the other loaders currentl
boot loader: Wire up net_stack_cleanup()
Add a platform cleanup hook before starting the kernel. The openfirmware and PXE loaders clean up their network stack there, while the other loaders currently do nothing.
This closes ticket #6166
Change-Id: I34765892dfd9b2310c6af97c9ff7d414afae49e5 Reviewed-on: https://review.haiku-os.org/c/50 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
cf77ef18 |
| 25-Jan-2019 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
haiku_loader: Toss iSCSITarget, add TCP stack to loader.
* This iSCSI implementation only worked on PPC big-endian atm. * We're pretty sure iSCSI support in haiku_loader doesn't make much sense an
haiku_loader: Toss iSCSITarget, add TCP stack to loader.
* This iSCSI implementation only worked on PPC big-endian atm. * We're pretty sure iSCSI support in haiku_loader doesn't make much sense anymore. iPXE on (on arm,x86,etc EFI/BIOS platforms) supports iSCSI boot of disks. * Haiku could use a iSCSI driver add-on, but it would exist much higher up and likely use standard drivers vs bare-minimum iSCSI target impementations. * Leaving TCP and adding to all arches since it could make sense for haiku's native network disk subsystem or network debugging?
Change-Id: Ic181b93a1d8ffd77f69e00e372b44b79abbddb42 Reviewed-on: https://review.haiku-os.org/c/899 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
7f47ae44 |
| 03-Jul-2017 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
openfirmware: Fix build post get_boot_partitions changes
* Thanks jessicah!
|
#
e8882171 |
| 13-May-2017 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
loader: fetch all potential boot partitions for boot device.
This allows the loader to skip BFS partitions that don't contain a bootable system. Useful when you have a BFS data partition that comes
loader: fetch all potential boot partitions for boot device.
This allows the loader to skip BFS partitions that don't contain a bootable system. Useful when you have a BFS data partition that comes before the system partition when iterated over.
Currently, only the UEFI loader actually returns more than one possible partition.
show more ...
|
#
25a7b01d |
| 05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead.
Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
show more ...
|
#
77d95e1d |
| 18-Nov-2012 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
Conflicts: src/system/boot/platform/u-boot/arch/ppc/Jamfile
|
#
30afb18c |
| 18-Nov-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Merge branch 'x86_64'
|
#
93cb9538 |
| 20-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Don't store a KMessage in kernel_args for the boot volume, only the buffer address/size.
Pointers in kernel_args are going to be changed to unconditionally use 64-bit storage (to make kernel_args co
Don't store a KMessage in kernel_args for the boot volume, only the buffer address/size.
Pointers in kernel_args are going to be changed to unconditionally use 64-bit storage (to make kernel_args compatible with both the x86 and x86_64 kernels). KMessage stores a pointer to its buffer, however since KMessage is used outside of the boot code it is undesirable to change it to use 64-bit storage for the pointer as it may add additional overhead on 32-bit builds. Therefore, only store the buffer address and size and then construct a KMessage from those in the kernel.
show more ...
|
#
3243de57 |
| 05-Sep-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_loader_openfirmware: Add iSCSI boot support
If no Haiku remote disk server is found, try an iSCSI discovery session on the TFTP server, using the IP address from the boot command or OF options.
boot_loader_openfirmware: Add iSCSI boot support
If no Haiku remote disk server is found, try an iSCSI discovery session on the TFTP server, using the IP address from the boot command or OF options. All available IPv4 targets are considered, Target Portal Groups are ignored.
RFC 4173 suggests a mechanism that avoids a discovery session by using DHCP; that requires a compatibly configured DHCP server though and we wouldn't have access to such data currently anyway. iSCSI is currently used as fallback, and when it doesn't succeed it falls back to the menu as before.
Resolves ticket #5319.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38537 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
884432c2 |
| 24-Aug-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_loader_openfirmware: Fix style issues
Adjust initializers. Respect 80-column limit and adjust copyright notice. Reorder some header groups. Enforce line spacing.
No functional changes.
git-s
boot_loader_openfirmware: Fix style issues
Adjust initializers. Respect 80-column limit and adjust copyright notice. Reorder some header groups. Enforce line spacing.
No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38343 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
ec9f5ea7 |
| 16-Jul-2007 |
Jérôme Duval <korli@users.berlios.de> |
fixed ppc build. It was broken since r21611. Obviously it's not tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21626 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82029bda |
| 16-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added missing nothrow parameter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9046c677 |
| 17-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17499 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
855697b1 |
| 27-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16894 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f602da2b |
| 26-Jan-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Turned the kernel platform support from a library into an object. * Moved the Open Firmware function platform_get_next_device() from the boot loader into the kernel (renamed to of_get_next_device
* Turned the kernel platform support from a library into an object. * Moved the Open Firmware function platform_get_next_device() from the boot loader into the kernel (renamed to of_get_next_device()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16101 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
957a1b17 |
| 30-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have.
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have. For x86 we had and still have -fno-pic, but the PPC kernel has -fPIE (position independent executable) now, as we need to relocate it. * The boot loader relocates the kernel now. Mostly copied the relocation code from the kernel ELF loader. Almost completely rewrote the PPC specific relocation code, though. It's more correct and more complete now (some things are still missing though). * Added boot platform awareness to the kernel. Moved the generic Open Firmware code (openfirmware.c/h) from the boot loader to the kernel. * The kernel PPC serial debug output is sent to the console for the time being. * The PPC boot loader counts the CPUs now and allocates the kernel stacks (made OF device iteration a bit more flexible on the way -- the search can be restricted to subtree). Furthermore we really enter the kernel... (Yay! :-) ... and crash in the first dprintf() (in the atomic_set() called by acquire_spinlock()). kprintf() works, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
d561d0ad |
| 27-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/dev
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/device. The Open Firmware flavored boot loader automatically initializes the net stack, searches for a remote disk, and tries to boot from it, if the boot device is a network device (e.g. when loading the boot loader via TFTP).
This is quite nice for developing with a two-machine setup, since one doesn't even need to install Haiku on the test machine anymore, but can serve it directly from the development machine. When the networking support in the kernel is working, this method could even be used to fully boot, not just for loading kernel and initial modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
5af32e75 |
| 13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|