diff --git a/src/system/boot/platform/openfirmware/menu.cpp b/src/system/boot/platform/openfirmware/menu.cpp index 47f9c6ff48..feaf39bb75 100644 --- a/src/system/boot/platform/openfirmware/menu.cpp +++ b/src/system/boot/platform/openfirmware/menu.cpp @@ -7,15 +7,30 @@ #include #include #include +#include + + +static bool +of_exit_hook(Menu *menu, MenuItem *item) +{ + of_exit(); + return true; +} void platform_add_menus(Menu *menu) { - // ToDo: implement me! + MenuItem* item; switch (menu->Type()) { case MAIN_MENU: + item = new(std::nothrow) MenuItem("Exit to OpenFirmware"); + if (item != NULL) { + menu->AddItem(item); + item->SetTarget(of_exit_hook); + item->SetShortcut('q'); + } break; case SAFE_MODE_MENU: break;