libpayload: Add PDCurses and ncurses' libform/libmenu
[coreboot.git] / payloads / libpayload / curses / pdcurses-backend / pdcutil.c
1 /* Public Domain Curses */
2 /* This file is BSD licensed, Copyright 2011 secunet AG */
3
4 #include "lppdc.h"
5 #include <libpayload.h>
6
7 int curses_flags = F_ENABLE_SERIAL | F_ENABLE_CONSOLE;
8
9 void PDC_beep(void)
10 {
11     PDC_LOG(("PDC_beep() - called\n"));
12
13 #ifdef CONFIG_SPEAKER
14     speaker_tone(1760, 500); /* 1760 == note A6 */
15 #endif
16 }
17
18 void PDC_napms(int ms)
19 {
20     PDC_LOG(("PDC_napms() - called: ms=%d\n", ms));
21
22     mdelay(ms);
23 }
24
25 const char *PDC_sysname(void)
26 {
27     return "LIBPAYLOAD";
28 }
29
30 void curses_enable_serial(int enable)
31 {
32     curses_flags = (curses_flags & ~F_ENABLE_SERIAL) | (enable * F_ENABLE_SERIAL);
33 }
34
35 void curses_enable_vga(int enable)
36 {
37     curses_flags = (curses_flags & ~F_ENABLE_CONSOLE) | (enable * F_ENABLE_CONSOLE);
38 }
39
40 int curses_serial_enabled()
41 {
42     return !!(curses_flags & F_ENABLE_SERIAL);
43 }
44
45 int curses_vga_enabled()
46 {
47     return !!(curses_flags & F_ENABLE_CONSOLE);
48 }
49