aboutsummaryrefslogtreecommitdiff
path: root/include/efi_config.h
diff options
context:
space:
mode:
authorMasahisa Kojima2023-01-24 15:56:15 +0900
committerHeinrich Schuchardt2023-01-27 18:32:00 +0100
commit8dbd0a0f8e4c59c4fa705585ee2d552acdc5bdb2 (patch)
tree8dd3df55d1c632d7e3ca9e55cecb5b252a350383 /include/efi_config.h
parent0d59085235589f47323d84b7e412d1b6acb10286 (diff)
eficonfig: add vertical scroll support
The current eficonfig menu does not support vertical scroll, so it can not display the menu entries greater than the console row size. This commit add the vertial scroll support. The console size is retrieved by SIMPLE_TEXT_OUTPUT_PROTOCOL.QueryMode() service, then calculates the row size for menu entry by subtracting menu header and description row size from the console row size. "start" and "end" are added in the efimenu structure. "start" keeps the menu entry index at the top, "end" keeps the bottom menu entry index. item_data_print() menu function only draws the menu entry between "start" and "end". This commit also fixes the issue that "Save" and "Quit" entries can be moved by BKEY_PLUS in change boot order menu. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'include/efi_config.h')
-rw-r--r--include/efi_config.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/efi_config.h b/include/efi_config.h
index cec5715f844..6a104e4b1db 100644
--- a/include/efi_config.h
+++ b/include/efi_config.h
@@ -49,6 +49,8 @@ struct eficonfig_entry {
* @menu_header: menu header string
* @menu_desc: menu description string
* @list: menu entry list structure
+ * @start: top menu index to draw
+ * @end: bottom menu index to draw
*/
struct efimenu {
int delay;
@@ -57,6 +59,8 @@ struct efimenu {
char *menu_header;
const char *menu_desc;
struct list_head list;
+ int start;
+ int end;
};
/**