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(
23				"Select screen resolution", video_mode_menu()));
24			item->SetTarget(video_mode_hook);
25			break;
26		case SAFE_MODE_MENU:
27			menu->AddItem(item = new(nothrow) MenuItem(
28				"Use fail-safe graphics driver"));
29			item->SetType(MENU_ITEM_MARKABLE);
30			item->SetData(B_SAFEMODE_FAIL_SAFE_VIDEO_MODE);
31			item->SetHelpText("The system will use VESA mode and won't try to "
32				"open any video graphics driver");
33
34#if 0
35			smp_add_safemode_menus(menu);
36
37			menu->AddItem(item = new(nothrow) MenuItem("Disable ACPI"));
38			item->SetType(MENU_ITEM_MARKABLE);
39			item->SetData(B_SAFEMODE_DISABLE_ACPI);
40			item->SetHelpText("This overrides the ACPI setting in the kernel "
41				"settings file");
42#endif
43			break;
44		default:
45			break;
46	}
47}
48
49
50void
51platform_update_menu_item(Menu* menu, MenuItem* item)
52{
53	platform_generic_update_text_menu_item(menu, item);
54}
55
56
57void
58platform_run_menu(Menu* menu)
59{
60	platform_generic_run_text_menu(menu);
61}
62
63
64size_t
65platform_get_user_input_text(Menu* menu, MenuItem* item, char* buffer,
66	size_t bufferSize)
67{
68	return platform_generic_get_user_input_text(menu, item, buffer,
69		bufferSize);
70}
71