History log of /haiku/src/system/boot/platform/generic/text_menu.cpp
Revision Date Author Comments
# 2ca24be6 30-Sep-2022 David Karoly <karolyd577@gmail.com>

boot: embed Haiku revision in loader binary

Change-Id: I9f71fba6c2c4fdaa63e118825c5fd00d51b556fb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5693
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 6711cd9e 30-Dec-2020 PulkoMandy <pulkomandy@pulkomandy.tk>

bootloader: reduce stack usage

On Sparc Openboot, we get allocated a stack of only 8 kilobytes, and
each called function costs at least 176 bytes for the stack frame.

This means we need to be more careful than usual about stack usage. Move
some large-ish allocations off the stack by either making them static,
or allocated dynamically.

Add a compiler flag to error on functions which use too much stack. The
threshold is at 1023 bytes, because that's what allowed me to find the
two functions that were causing a stack overflow (open_from and
_ParseActivatedPackagesFile)

Change-Id: Ia0d13a9247e1a3fff4ce654bdffd6edb16e7cbc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2371
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 7766b5a1 12-Jun-2021 X512 <danger_mail@list.ru>

haiku_loader: add J, K keys support for up/down keys

Arrow keys are not available on some platforms.

Change-Id: Ia38797eb12202668a0b0976b31f21f564d140901
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4087
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>


# 442a131d 16-Mar-2020 PulkoMandy <pulkomandy@pulkomandy.tk>

bootloader: additional keyboard commands

In the boot menu, tab cycles between the menu items.

In the pager for logs, j and k allow to scroll the log (vim style keys).

These allow using the pager and menu on Sun machines, where Openboot
does not manage the keyboard arrow keys. It may be possible to get more
low-level input from the keyboard openboot device, but I think it is not
worth the effort for now, especially as we would need different handling
for the local keyboard and for serial ports.

Change-Id: I5fe74eb9f7a952ae49ae3c8a6bfae6ba4a16ae07
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2368
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# d439721d 02-Feb-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Bootloader menu: update copyright year.


# 8845ad35 09-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

bootloader: Update copyright years.

We've definitely changed the bootloader a good amount since 2014.


# 8927348e 14-Sep-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Boot menu: change colours of sub-menu headers. Fixes #12371.

Changed from white on red background, to yellow on black
(neutral) background. Red on black made it look like a
warning, whereas yellow feels more informative.


# 59881eaa 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Update copyright right in boot menu


# 2a368f9b 30-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: text menu: run_menu(): Fix empty menu crash


# 6c7abe98 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Menu[Item] API improvements

* Make Menu and MenuItem polymorphic.
* MenuItem:
- Make SetMarked() virtual, so it can be overridden.
- Add SetSubmenu() and Supermenu().
- Delete the submenu in the destructor.
* Menu:
- Add Entered()/Exited() hooks. They frame the time the user navigates
the menu or any of its submenus. The hooks allow for subclasses
populating their item list dynamically.
- Add SortItems().
* Update boot loader menu copyright text to include 2013, now that it is
over soon. :-)


# 0a1b1648 06-Mar-2012 Humdinger <humdingerb@gmail.com>

Small cosmetics of the boot loader.

* Updated copyright to 2012.
* Corrected capitalization of "Welcome To The..."
* Added info for serial debug "(115200, 8N1)"


# 8837310c 23-May-2011 Rene Gollent <anevilyak@gmail.com>

* Slightly alter the semantics of the input gathering function to take the
menu item it's associated with rather than an input string. This allows it
to calculate the position to start the input at, as well as the correct
line to place it on. The previous solution always put the input at the
center line, which happened to be the right place by happy coincidence
unless one also had the menu items for viewing/saving the debug syslog
present.
* Implement input buffer scrolling, and consequently lift the previous size
limit on user input (it is now only limited by the size of the passed in
buffer).
* Implement parsing of the input buffer to allow it to handle comma-separated
options. Thus, one can now input things like "disable_smp true, serial_debug_output false"
and it will be handled properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41706 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2b49a00 18-May-2011 Rene Gollent <anevilyak@gmail.com>

* Implement support for user input of additional safe mode options that
aren't otherwise exposed via the safe mode menus. The option can be
found under the debug options menu, where additional settings can be
added one at a time with the same syntax used in kernel settings files
(i.e. disable_acpi on).

Scrolling of the input buffer is not yet supported (will implement that
soon), so currently the input is clamped to the size of one line. This
shouldn't be a problem for our current set of options though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13fd92e6 18-May-2011 Rene Gollent <anevilyak@gmail.com>

Update boot loader copyright year. Resolves #7515.

+alpha3



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 868aa7a0 15-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Added shortcut handling to the boot loader menu (in preparation of adopting
ticket #5312).
* Added shortcut 'b' to continue booting, 'r' to reboot.
* Consolidated asterisk style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb7711cd 11-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Updated boot loader copyright year.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 317bd7dd 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d30acbf3 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by maxime.simon: Don't allow to enter sub-menus by the space bar anymore.
This allows to have the first item selected when entering a menu, since still
pressing space would not enter it unintentionally anymore, in case it's a sub-
menu again. Even though it makes some sense to have "Continue booting" selected
by default, it somehow feels more natural to have the first item always selected
instead. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 42d85ff7 23-Jun-2008 François Revol <revol@free.fr>

Extend copyright years to 2008 for the boot menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26118 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a474ef4c 23-Jun-2008 François Revol <revol@free.fr>

Seems the atari VT52 emulation doesn't wrap lines, so really send a LF before clearing the 2nd help line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 753ef081 23-Jun-2008 François Revol <revol@free.fr>

Fix menu item help display: it was used as index in the line buffer when it actually is an index into the whole string, so on 2nd line it was outbound... That was segfaulting some items on Atari.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26107 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b2ed0e7a 03-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server
will not load any graphics driver (other than VESA).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 76c7d591 25-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Updated copyright message in the boot loader menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16082 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4c62b091 19-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled platform independent part of the BIOS boot menu out into
platform/generic/...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8927348ef1553d14bce5ccb87c9321102fb7e830 14-Sep-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Boot menu: change colours of sub-menu headers. Fixes #12371.

Changed from white on red background, to yellow on black
(neutral) background. Red on black made it look like a
warning, whereas yellow feels more informative.


# 59881eaa166dc887b1c4a8f275e93e695b2da670 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Update copyright right in boot menu


# 2a368f9b0e3659940316a533d2afb4673cb9f181 30-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: text menu: run_menu(): Fix empty menu crash


# 6c7abe982939eb2f37df772014db96ad8b5f440a 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Menu[Item] API improvements

* Make Menu and MenuItem polymorphic.
* MenuItem:
- Make SetMarked() virtual, so it can be overridden.
- Add SetSubmenu() and Supermenu().
- Delete the submenu in the destructor.
* Menu:
- Add Entered()/Exited() hooks. They frame the time the user navigates
the menu or any of its submenus. The hooks allow for subclasses
populating their item list dynamically.
- Add SortItems().
* Update boot loader menu copyright text to include 2013, now that it is
over soon. :-)


# 0a1b16486b06e14e610da6f22b400a2da90464ce 06-Mar-2012 Humdinger <humdingerb@gmail.com>

Small cosmetics of the boot loader.

* Updated copyright to 2012.
* Corrected capitalization of "Welcome To The..."
* Added info for serial debug "(115200, 8N1)"


# 8837310ce73c6558049edd7763e6e655eba3863f 23-May-2011 Rene Gollent <anevilyak@gmail.com>

* Slightly alter the semantics of the input gathering function to take the
menu item it's associated with rather than an input string. This allows it
to calculate the position to start the input at, as well as the correct
line to place it on. The previous solution always put the input at the
center line, which happened to be the right place by happy coincidence
unless one also had the menu items for viewing/saving the debug syslog
present.
* Implement input buffer scrolling, and consequently lift the previous size
limit on user input (it is now only limited by the size of the passed in
buffer).
* Implement parsing of the input buffer to allow it to handle comma-separated
options. Thus, one can now input things like "disable_smp true, serial_debug_output false"
and it will be handled properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41706 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2b49a00311f3e9a474e02d1724a5beed8b5f293 18-May-2011 Rene Gollent <anevilyak@gmail.com>

* Implement support for user input of additional safe mode options that
aren't otherwise exposed via the safe mode menus. The option can be
found under the debug options menu, where additional settings can be
added one at a time with the same syntax used in kernel settings files
(i.e. disable_acpi on).

Scrolling of the input buffer is not yet supported (will implement that
soon), so currently the input is clamped to the size of one line. This
shouldn't be a problem for our current set of options though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13fd92e6a009611a30f8d311113f842f66497b11 18-May-2011 Rene Gollent <anevilyak@gmail.com>

Update boot loader copyright year. Resolves #7515.

+alpha3



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 868aa7a0e08a6f01717ea8029190baa456794e49 15-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Added shortcut handling to the boot loader menu (in preparation of adopting
ticket #5312).
* Added shortcut 'b' to continue booting, 'r' to reboot.
* Consolidated asterisk style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb7711cd5ad79cac3f2b197a4b236b93a773e78c 11-Mar-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Updated boot loader copyright year.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 317bd7dda3eb26d4d24ba5b0a831461119f70d34 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d30acbf30b7065afb898566958722c79a82f0f35 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by maxime.simon: Don't allow to enter sub-menus by the space bar anymore.
This allows to have the first item selected when entering a menu, since still
pressing space would not enter it unintentionally anymore, in case it's a sub-
menu again. Even though it makes some sense to have "Continue booting" selected
by default, it somehow feels more natural to have the first item always selected
instead. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 42d85ff725b8ff517aeab4727f437fd8f032b65d 23-Jun-2008 François Revol <revol@free.fr>

Extend copyright years to 2008 for the boot menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26118 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a474ef4c38bcf8b6ea61a37ffe22494133633e7d 23-Jun-2008 François Revol <revol@free.fr>

Seems the atari VT52 emulation doesn't wrap lines, so really send a LF before clearing the 2nd help line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 753ef081506c8f7ac38c07fc33f2e4eadb520699 23-Jun-2008 François Revol <revol@free.fr>

Fix menu item help display: it was used as index in the line buffer when it actually is an index into the whole string, so on 2nd line it was outbound... That was segfaulting some items on Atari.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26107 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b2ed0e7acfba7cc638619b8ea6b953ae6831a13a 03-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server
will not load any graphics driver (other than VESA).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 76c7d591038384583e879902e7ad0b83758a3da2 25-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Updated copyright message in the boot loader menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16082 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4c62b0919fffbaa5c0b89c5ef5f0dffa0d81b250 19-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled platform independent part of the BIOS boot menu out into
platform/generic/...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15587 a95241bf-73f2-0310-859d-f6bbb57e9c96