1/*
2 * Copyright 2004-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "smp.h"
8#include "video.h"
9
10#include <boot/menu.h>
11#include <boot/platform/generic/text_menu.h>
12#include <safemode.h>
13
14
15void
16platform_add_menus(Menu *menu)
17{
18	MenuItem *item;
19
20	/*switch (menu->Type()) {
21		case MAIN_MENU:
22			menu->AddItem(item = new(nothrow) MenuItem("Select fail-safe video mode", video_mode_menu()));
23			item->SetTarget(video_mode_hook);
24			break;
25		case SAFE_MODE_MENU:
26			menu->AddItem(item = new(nothrow) MenuItem("Use fail-safe video mode"));
27			item->SetType(MENU_ITEM_MARKABLE);
28			item->SetData(B_SAFEMODE_FAIL_SAFE_VIDEO_MODE);
29			item->SetHelpText("The system will use VESA mode "
30				"and won't try to use any video graphics drivers.");
31
32			smp_add_safemode_menus(menu);
33
34			menu->AddItem(item = new(nothrow) MenuItem("Don't call the BIOS"));
35			item->SetHelpText("Stops the system from calling BIOS functions.");
36			item->SetType(MENU_ITEM_MARKABLE);
37
38			menu->AddItem(item = new(nothrow) MenuItem("Disable APM"));
39			item->SetType(MENU_ITEM_MARKABLE);
40			item->SetData(B_SAFEMODE_DISABLE_APM);
41			item->SetHelpText("Disables Advanced Power Management hardware support, "
42				"overriding the APM setting in the kernel settings file.");
43
44			menu->AddItem(item = new(nothrow) MenuItem("Disable ACPI"));
45			item->SetType(MENU_ITEM_MARKABLE);
46			item->SetData(B_SAFEMODE_DISABLE_ACPI);
47			item->SetHelpText("Disables Advanced Configuration and Power "
48				"Interface hardware support, overriding the ACPI setting "
49				"in the kernel settings file.");
50
51			menu->AddItem(item = new(nothrow) MenuItem("Disable IO-APIC"));
52			item->SetType(MENU_ITEM_MARKABLE);
53			item->SetData(B_SAFEMODE_DISABLE_IOAPIC);
54			item->SetHelpText("Disables using the IO APIC for interrupt handling, "
55				"forcing instead the use of the PIC.");
56			break;
57		default:
58			break;
59	}*/
60}
61
62
63void
64platform_update_menu_item(Menu *menu, MenuItem *item)
65{
66	platform_generic_update_text_menu_item(menu, item);
67}
68
69
70void
71platform_run_menu(Menu *menu)
72{
73	platform_generic_run_text_menu(menu);
74}
75
76
77void
78platform_get_user_input_text(Menu *menu, MenuItem *item, char *buffer,
79	size_t bufferSize)
80{
81	platform_generic_get_user_input_text(menu, item, buffer, bufferSize);
82}
83