vboot: Introduce menu UI

According to crbug.com/1033815, add files for MENU_UI:
- 2ui.{c,h} for entry point functions called by kernel selection.
- vb2_ui_tests.c for tests (normal boot included).

There are three entry points: vb2_developer_menu(),
vb2_broken_recovery_menu(), and vb2_manual_recovery_menu().

Only infinite loop for this CL, others will be added in separate CLs.

BRANCH=none
BUG=b:146399181,chromium:1033815
TEST=USE="legacy_clamshell_ui" emerge-nami vboot_reference depthcharge
TEST=USE="legacy_menu_ui" emerge-nami vboot_reference depthcharge
TEST=USE="menu_ui" emerge-nami vboot_reference depthcharge
TEST=make runtests

Cq-Depend: chromium:2043102
Change-Id: I5a23eb006754b5ff08eb42bcd5021374995eab40
Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2087557
Reviewed-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Yu-Ping Wu <yupingso@chromium.org>
6 files changed