1147072Sbrooks/* 2147072Sbrooks * Copyright 2004-2007, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 3147072Sbrooks * Distributed under the terms of the MIT License. 4147072Sbrooks */ 5147072Sbrooks 6147072Sbrooks 7147072Sbrooks#include "smp.h" 8147072Sbrooks#include "video.h" 9147072Sbrooks 10147072Sbrooks#include <boot/menu.h> 11147072Sbrooks#include <boot/platform/generic/text_menu.h> 12147072Sbrooks#include <safemode.h> 13147072Sbrooks 14147072Sbrooks 15147072Sbrooksvoid 16147072Sbrooksplatform_add_menus(Menu *menu) 17147072Sbrooks{ 18147072Sbrooks MenuItem *item; 19147072Sbrooks 20147072Sbrooks /*switch (menu->Type()) { 21147072Sbrooks case MAIN_MENU: 22147072Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Select fail-safe video mode", video_mode_menu())); 23147072Sbrooks item->SetTarget(video_mode_hook); 24147072Sbrooks break; 25147072Sbrooks case SAFE_MODE_MENU: 26147072Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Use fail-safe video mode")); 27147072Sbrooks item->SetType(MENU_ITEM_MARKABLE); 28147072Sbrooks item->SetData(B_SAFEMODE_FAIL_SAFE_VIDEO_MODE); 29147072Sbrooks item->SetHelpText("The system will use VESA mode " 30147072Sbrooks "and won't try to use any video graphics drivers."); 31147072Sbrooks 32147072Sbrooks smp_add_safemode_menus(menu); 33147072Sbrooks 34147072Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Don't call the BIOS")); 35147072Sbrooks item->SetHelpText("Stops the system from calling BIOS functions."); 36147072Sbrooks item->SetType(MENU_ITEM_MARKABLE); 37147072Sbrooks 38147072Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Disable APM")); 39147072Sbrooks item->SetType(MENU_ITEM_MARKABLE); 40147072Sbrooks item->SetData(B_SAFEMODE_DISABLE_APM); 41147072Sbrooks item->SetHelpText("Disables Advanced Power Management hardware support, " 42147072Sbrooks "overriding the APM setting in the kernel settings file."); 43149399Sbrooks 44149399Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Disable ACPI")); 45149399Sbrooks item->SetType(MENU_ITEM_MARKABLE); 46147072Sbrooks item->SetData(B_SAFEMODE_DISABLE_ACPI); 47147072Sbrooks item->SetHelpText("Disables Advanced Configuration and Power " 48147072Sbrooks "Interface hardware support, overriding the ACPI setting " 49147072Sbrooks "in the kernel settings file."); 50147072Sbrooks 51147072Sbrooks menu->AddItem(item = new(nothrow) MenuItem("Disable IO-APIC")); 52147072Sbrooks item->SetType(MENU_ITEM_MARKABLE); 53147072Sbrooks item->SetData(B_SAFEMODE_DISABLE_IOAPIC); 54147072Sbrooks item->SetHelpText("Disables using the IO APIC for interrupt handling, " 55147072Sbrooks "forcing instead the use of the PIC."); 56147072Sbrooks break; 57147072Sbrooks default: 58147072Sbrooks break; 59147072Sbrooks }*/ 60147072Sbrooks} 61147072Sbrooks 62147072Sbrooks 63147072Sbrooksvoid 64147072Sbrooksplatform_update_menu_item(Menu *menu, MenuItem *item) 65147072Sbrooks{ 66147072Sbrooks platform_generic_update_text_menu_item(menu, item); 67147072Sbrooks} 68147072Sbrooks 69147072Sbrooks 70147072Sbrooksvoid 71147072Sbrooksplatform_run_menu(Menu *menu) 72147072Sbrooks{ 73147072Sbrooks platform_generic_run_text_menu(menu); 74147072Sbrooks} 75147072Sbrooks 76147072Sbrooks 77147072Sbrooksvoid 78147072Sbrooksplatform_get_user_input_text(Menu *menu, MenuItem *item, char *buffer, 79147072Sbrooks size_t bufferSize) 80147072Sbrooks{ 81147072Sbrooks platform_generic_get_user_input_text(menu, item, buffer, bufferSize); 82147072Sbrooks} 83147072Sbrooks