Skip to content
This repository was archived by the owner on Aug 24, 2022. It is now read-only.

[debug][port from O]Add a countdown (demo purpose)] #7

Open
wants to merge 1,088 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1088 commits
Select commit Hold shift + click to select a range
29bd7a3
[kernelflinger] fix compile error when USE_TRUSTY not defined
zhouji3x Dec 28, 2017
86f53bb
[Osloader] revert workaround for slimboot
zhouji3x Dec 27, 2017
0073cc8
control trusty_info by LOCAL_LOG
zhangn1985 Dec 29, 2017
1088894
key migration in osloader
duminx Dec 21, 2017
2989868
[ql-tipc] return TRUSTY_ERR_CHANNEL_CLOSED if tipc is closed by peer
qizhangz Dec 26, 2017
390e316
Flash bootloader(_a|_b)
Sep 28, 2017
bc6ea15
Use "NON_EFI" insteadof "ABL" in confusing flags
zhimincx Jan 4, 2018
fb1b616
Clear simulation rpmb key in teedata when use real rpmb
ustcxd Jan 22, 2018
8d75120
Disable avb debug when KERNELFLINGER_DISABLE_DEBUG_PRINT is set.
yang-kaix Jan 25, 2018
9910826
Boot: Kernelflinger: add a judgement to fix KW issue
yayongdx Jan 24, 2018
dac82c1
Update README.md
tanminger Jan 26, 2018
df4257d
Reflect more stages boottime in command line.
yang-kaix Jan 10, 2018
a3a03fb
[kernelflinger] Set gcc compile option special for x86_64 platform
zhouji3x Jan 17, 2018
8874bde
[Improvement] optimize code readability about boot cmdline parse
Y-Jiang Jan 17, 2018
6524c58
[kernelflinger] remove libtipc dependency when trusty is disabled.
zhouji3x Jan 31, 2018
fdc6267
Optimize fastboot clear-rpmb implementation
ustcxd Jan 30, 2018
1d7b9f3
Add the support of AVB dm-verity in UEFI based kernelflinger.
tanminger Dec 28, 2017
c85f269
Support 64bit osloader compiling
yang-kaix Feb 5, 2018
c7a6dc1
Fix osloader's compile errors when avb enable & slot-ab disable
ustcxd Feb 5, 2018
35c7e5b
[Kernelflinger] Add virtual storage support
jwu55 Jan 10, 2018
84a3956
Port TPM2 related functionality from edk2
anikulk Sep 8, 2017
d0f91d5
Add fusing functions for Android Things
anikulk Apr 5, 2017
4f8e835
Add bootloader policy fuse if USE_TPM is set
anikulk Sep 26, 2017
a915b3b
[kf4abl] kernel boot support on 64 bit mode
zhouji3x Feb 7, 2018
cc2e7e4
Fix osloader's 64bit compile error about type comparision
ustcxd Feb 11, 2018
bb02d79
Optimize stages boottime code to avoid type conversion
yang-kaix Feb 1, 2018
912286e
Implement different trusty base on different platform
beckwen Dec 20, 2017
a59f242
Fix a regression of building 64bit osloader with avb enabled
yang-kaix Feb 27, 2018
b1c3894
Update ABL when avb_ab_flow slot not equal to ABL cmdline slot.
Feb 11, 2018
3b1e64a
Check the misc magic in the init.
Feb 23, 2018
e16820f
Revert "Flash bootloader(_a|_b)"
Feb 2, 2018
2d0a4a6
Fastboot: support non UEFI bootloader A/B partitions.
Feb 1, 2018
2f5f1ae
Adjust cur_suffix check.
Feb 28, 2018
3201a73
Fix build error while rpmb is disabled
yang-kaix Feb 28, 2018
c4428a9
Just bypass when suffix is NULL, only give warning logs.
Mar 1, 2018
77088d8
Kernelflinger: do below modification to fix some KW Critical issue
yayongdx Mar 2, 2018
82d2ee8
Fix the compile error when enable TPM but disable A/B slot.
tanminger Feb 28, 2018
c468679
Enable queueless tipc support
swei22 Feb 22, 2018
27efcce
avoid dead loop if tipc is closed by peer
qizhangz Dec 27, 2017
5412491
android: handover_kernel - set loader_id to 0xFF
jeremy-compostella Feb 22, 2018
fd6f331
android: handover_kernel() - fix setup_header copy
jeremy-compostella Feb 26, 2018
8d10c40
android: handover_kernel() and setup_ramdisk() convergence
jeremy-compostella Feb 22, 2018
75b86d6
android: use error() instead of Print()
jeremy-compostella Feb 26, 2018
163684f
lib/vars: introduce the is_UEFI() function
jeremy-compostella Feb 26, 2018
df4f460
android: do NOT set up the efi_info structure on not UEFI system
jeremy-compostella Feb 26, 2018
7b8d259
android: converge on android_image_start_buffer()
jeremy-compostella Feb 26, 2018
1c1315c
android: converge on handover_jump()
jeremy-compostella Feb 26, 2018
e0f636e
clean-up: remove unnecessary use of __SUPPORT_ABL_BOOT
jeremy-compostella Feb 28, 2018
e76e59f
05.08
jeremy-compostella Feb 27, 2018
ff374a6
log: Skip flush log to EFI variable for NON EFI platform
zhimincx Mar 7, 2018
7a20917
Kernelflinger: fix some KW Critical issue
GraspEmpty Mar 8, 2018
e4fff90
Slot_init() does not initialize current slot.
Mar 6, 2018
91c7016
Code clean for slot_reset.
Mar 2, 2018
cc59fc5
Revert "log: Skip flush log to EFI variable for NON EFI platform"
jeremy-compostella Mar 9, 2018
eafddc4
log: Skip flush log to EFI variable for NON EFI platform
jeremy-compostella Mar 9, 2018
aa3b959
android: gdt should be a local to module variable
jeremy-compostella Mar 9, 2018
4013cd5
android: clean-up - remove one unecessary __SUPPORT_ABL_BOOT use
jeremy-compostella Mar 9, 2018
c6b3765
Add the support of A/B slot failover switch in UEFI based platform.
tanminger Feb 28, 2018
f8a3391
Allow unverified tos to continue boot if secure boot is disabled
steven-lgs Mar 12, 2018
a09bd34
Slot avb memory leak.
Mar 12, 2018
e0f1c3d
Initialize AVB when slot_reset.
Mar 14, 2018
26c059b
log: Skip flush log to EFI variable for NON EFI platform.
zhimincx Mar 15, 2018
118b906
Fix a bug about generate action nonce.
tanminger Mar 14, 2018
7f72a9c
Check address size for osloader&trusty usage when rpmb read and write
ustcxd Mar 15, 2018
f1a5f0c
Don't free trusy memory when normal boot
beckwen Mar 12, 2018
98f3bac
security_efi: Add set_platform_secure_boot() define
jwu55 Mar 19, 2018
155cfaf
copy screen_info into boot_params
xihua-chen Mar 20, 2018
a48a385
05.09
xihua-chen Mar 20, 2018
b445008
Add the support of use EFI var to store AVB rollback index.
tanminger Feb 26, 2018
0e12907
replace the absolute path
yyao3 Feb 17, 2018
699706d
Code clean for USE_SLOT macro
Mar 8, 2018
11cfedc
Launch trusty in vsbl on CWP project
beckwen Mar 13, 2018
a302001
Add support for ACRN hypervisor in qltipc
YadongQi Mar 14, 2018
0dfc3e6
Directly get|set AVB info from|into misc in the fastboot mode.
Mar 23, 2018
101ae51
Remove unnecessary boot logs in kernelflinger for release build
GraspEmpty Mar 23, 2018
ad7a138
Clear derived key before leaving osloader
zhimincx Mar 21, 2018
be0cb4a
Remove "Intel Confidential" notice
ustcxd Apr 4, 2018
4d9d03c
Fix a compiling bug exists when enable ioc in some case.
zhimincx Mar 30, 2018
cc0982c
Fix bug: not real clean with the cmd "fastboot erase misc"
ustcxd Apr 9, 2018
cd09002
Dynamicly allocate the 16K aligned memory for trusty
beckwen Apr 10, 2018
784cbe8
Enable UFS rpmb and refine rpmb code
beckwen Apr 12, 2018
ac3ece7
Add serialization of the params buffer for keymaster interface
syan10 Jan 24, 2018
46d6f0c
Restore 'jmp' log for profiling tool that is based on log
yang-kaix Apr 4, 2018
ca297b3
VSBL: dynamicly allocate the 16K aligned memory for trusty
beckwen Apr 20, 2018
e6f3f8f
Use log() instead of debug() for jump to kernel log
yang-kaix Apr 20, 2018
97c23b6
Enable ql-tipc side to receive messages > 4K
syan10 Apr 12, 2018
0d2072d
Fix a bug about verify TOS partition failed when the device is unlocked.
tanminger Apr 25, 2018
e00a3ad
[O_master] Clean kernelflinger KW issue
GraspEmpty Apr 26, 2018
9200775
[REVERT ME]Temporarily disable rpmb in qltipc on vsbl platform
steven-lgs May 2, 2018
2aeb97c
Kernelflinger: fix gpt(for UFS storage) raw img format issue
jwu55 Mar 29, 2018
2ea666a
Adjust ias image offset for vsbl bootloader.
May 8, 2018
7d6ef52
Allow verify TOS error in unlocked state and in eng/userdebug build.
tanminger May 10, 2018
139791d
Fix issue about case "fastboot boot boot.img" when enable AVB.
May 9, 2018
71eaab9
fix kernelflinger build error
txu4 Jan 30, 2018
f8ee300
Add flag Wno-error to make build pass
Mar 29, 2018
3be2f3a
Add flag Wno-error to fix build issue
Yu1984 Mar 29, 2018
aef349d
fix build error of clang in ql-tipc
qichen5x Apr 25, 2018
e2e53c3
05.0A
xihua-chen May 18, 2018
4e02b2a
Seperate the rpmb implementation based on storage type
beckwen May 11, 2018
75d0bb9
Add the support of upgrade UEFI based kernelflinger.
tanminger May 10, 2018
4b745c9
Merge android/o/mr1/master into master
xihua-chen May 30, 2018
2e01d9c
06.01
xihua-chen May 30, 2018
c1dbaa8
use highest usable memory under 4G as PAE map window
btian1 May 18, 2018
bf1e0e2
[fastboot] enable crash mode
zhouji3x May 17, 2018
c9f1411
Add the support of SD card using MSG_SD_DP in UEFI 2.5.
tanminger May 22, 2018
eea5b61
update startup info of TOS image for EFI bootloader
syan10 May 8, 2018
65acef3
Fix the memory free issue
beckwen May 31, 2018
5efecde
Merge android/o/mr1/master into merge_branch
xihua-chen Jun 13, 2018
f2ecbeb
Does not reboot device after upgrade with command line option.
tanminger Jun 13, 2018
77b672d
Fix a code scan error of check pointer NULL.
tanminger Jun 15, 2018
bdfd4ea
remove LOCAL_CLANG_EXCEPTION_PROJECTS flag
qichen5x Mar 12, 2018
b9817a9
Rebase AVB library in kernelflinger to P dessert version
steven-lgs Jun 14, 2018
aa8c3d2
trusty_sbl: remove EOP send code
jwu55 Jun 26, 2018
582a205
Fix a bug about 'fastboot oem get-hashes' failed.
tanminger Jun 20, 2018
4f47ae6
Support fastboot getvar erase-block-size and logical-block-size
yang-kaix Jun 11, 2018
fa051ab
[osloader] load trusty to high memory
zhouji3x Jun 27, 2018
e4129ac
Merge android/o/mr1/master into merge_branch
xihua-chen Jul 5, 2018
5bd1bef
06.02
xihua-chen Jul 5, 2018
078b075
Add the basic support of USB disk in UEFI based kernelflinger.
tanminger May 17, 2018
a287bb7
Add NULL check for pointer before dereferenced
GraspEmpty Jul 5, 2018
dc8d849
Add the support of show and delete TPM index in userdebug and eng build.
tanminger Jul 4, 2018
1eb6ab8
Avoid reboot again after upgrade bootloader
zhoulihuagithub Jul 11, 2018
2fdbec9
kf4abl: fastboot: do not limit reboot to NORMAL and FASTBOOT
jeremy-compostella Jun 29, 2018
cda16e2
Fix integer overflow issue in get boottime function
yang-kaix Jul 11, 2018
f2d6512
Merge android/o/mr1/master into merge_branch
xihua-chen Jul 19, 2018
14bd393
Adapt OSLoader to new SBL interface for passing rpmb key/seed
beckwen Jul 2, 2018
0b089dc
Merge commit 'f2d6512bfd89af3cce636b1054426a97239e4907' into HEAD
Jul 19, 2018
d82601b
Update get-hashes.
Jul 10, 2018
bbb9bc6
Fix issue that after garbage-disk and fastboot reboot DUT crash
GraspEmpty Jul 20, 2018
fb2d1fc
Return EFI_SUCCESS in load_tos_image when ENG build
swei22 Jul 24, 2018
94226ea
Use memory address 511G for trusty runtime memory,
beckwen Jul 4, 2018
1a59601
Implement the virtual rpmb interface for ACRN platform
beckwen Jul 30, 2018
84a08a1
Tune the code of RPMB init.
tanminger Jul 9, 2018
1c96cb6
For 'fastboot oem set-storage', support several storage type now.
tanminger Jul 12, 2018
695e830
Add a fixed all zero RPMB key.
tanminger Jul 20, 2018
168c14a
Support use TPM to store the trusty seed, and pass RPMB key.
tanminger Aug 9, 2018
84530ab
ota: use not case sensitive comparison for kf update
phireg Jul 16, 2018
ee1f59e
[kf4abl] Add legacy DEV_SEC_INFO parameter
GraspEmpty Aug 2, 2018
4217c60
Fix a compile error using clang when enable the bootloader policy.
tanminger Aug 17, 2018
cad940c
acpi: Support load firststage mount config SSDT
zhimincx Jun 27, 2018
2a7d8d2
rename for easy understanding
Aug 15, 2018
9e4a8e7
Fix memory free bug in flash_bootloader_policy
haoyu-tang Aug 14, 2018
26ef4c4
Enable bootloader tamper resistant storage on ACRN platform
steven-lgs May 25, 2018
0bb70e0
[REVERT ME]Use all zero for virtual rpmb key
steven-lgs Aug 23, 2018
07a536c
export interface of life_cycle_is_enduser
beckwen Aug 22, 2018
d18de09
trusty: optimize the boot time
beckwen Aug 15, 2018
c8844f3
Correct the boot stages division in osloader
yang-kaix Aug 24, 2018
978da83
[installer] check lock state before flash partition
zhouji3x Sep 3, 2018
1d4a77f
Remove unnecessary error info of trusty_ipc_init in UEFI platform
swei22 Sep 7, 2018
36e176b
[p_master] Clean critical KW issue in BOOT-OTA domain
GraspEmpty Sep 5, 2018
261f586
RPMB: RPMB key passing
beckwen Aug 20, 2018
b1473f0
Handle corner case that EOP not send
GraspEmpty Sep 12, 2018
b7a8a06
Add RPMB_STORAGE conditional compilation for trusty based on vsbl
yang-kaix Sep 18, 2018
8621093
port usb device mode protocol to kernelflinger
mengxianglinx Sep 4, 2018
c354bc9
enable usb device mode protocol to support fastboot mode
mengxianglinx Sep 7, 2018
8802aac
checkin needed files for erase_block functions of usb storage
mengxianglinx Sep 5, 2018
a222061
Implement erase_blocks function of usb storage
mengxianglinx Sep 7, 2018
12897b0
Force to erase userdata when device state changes on virtual storage
yang-kaix Sep 28, 2018
c2ca0c0
fix bugs of using memset
xihua-chen Oct 10, 2018
f367837
06.03
xihua-chen Oct 10, 2018
085d32c
[osloader] Clean unnecessay kernel cmdline paramenter
zhouji3x Oct 10, 2018
66cca34
Change if condition to fix buffer overflow
Oct 15, 2018
ec929c3
[Osloader] reboot to recovery mode on need
zhouji3x Oct 12, 2018
ee34e5f
Update for Non SlotAB build error.
Aug 30, 2018
9e0c2fa
Support load acpi table from acpi/acpio/recovery_acpio partitions
zhimincx Sep 10, 2018
3696717
Create fastboot image for NON-Android platform provision usage only
yang-kaix Oct 17, 2018
ff89511
change the virtual rpmb block range for acrn
Oct 17, 2018
743e350
Optimize virtual rpmb to support multi-block write
yang-kaix Oct 20, 2018
1baabb3
[p_master] Clean critical KW issue in BOOT-OTA domain
GraspEmpty Oct 24, 2018
683772b
Add support for frame level rpmb interface
steven-lgs Sep 29, 2018
1279bf3
Revert "[REVERT ME]Temporarily disable rpmb in qltipc on vsbl platform"
YadongQi Sep 11, 2018
17ea0f9
[KF] Unify RPMB interfaces
YadongQi Sep 29, 2018
10d99d6
build firststage-mount SSDT with integrated iasl compiler
zhimincx Oct 22, 2018
1f309c0
Add fake lock/unlock cmd for NON-Android fastboot
GraspEmpty Oct 25, 2018
55d332d
refine rpmb address range check
Oct 23, 2018
0f23633
Several improvement for release Non-Android fastboot
GraspEmpty Oct 22, 2018
edf7f15
Generate cmdline "androidboot.acpio_idx"
zhimincx Oct 22, 2018
e7a886c
install firststage mount SSDT in recovery mode
zhimincx Oct 31, 2018
f2fd272
Erase and clean SATA partitions to ensure correct hash value
mengxianglinx Oct 26, 2018
44b7790
Add configuration option to use self implemented usb device mode prot…
mengxianglinx Oct 29, 2018
52965e5
Run self implemented usb device mode protocol directly
mengxianglinx Nov 1, 2018
8ccc891
lib: fix efi_time_to_ctime overflow
jeremy-compostella Nov 6, 2018
cd5345d
Fix a bug of can't boot if verify failed in unlock state.
tanminger Nov 7, 2018
7e7153b
firststagemnt: auto detect diskbus value when it not defined
zhimincx Nov 5, 2018
4a9291b
Fill out acpi table correctly to enable early mount
mengxianglinx Nov 5, 2018
2113808
[tpm2] integrate more apis from edk2
qizhangz Nov 8, 2018
07eb548
[tpm2] Change the new line format form DOS to Linux
qizhangz Nov 8, 2018
a9518b7
[tpm2] Change the include files to pass build for the
qizhangz Nov 8, 2018
4ba59b6
[tpm2] implement two apis Tpm2PolicyPCR() and Tpm2HashSequence()
qizhangz Aug 9, 2018
d2072cf
[tpm2] build pcr policy with PCR[7] for TPM operation
qizhangz Aug 10, 2018
5c1b9ae
[tpm2] Lock Owner Hierarchy to protect nv index from being deleted
qizhangz Aug 31, 2018
743f809
Set property of sipi_ap_addr memory to EfiRuntimeServicesData when lo…
swei22 Nov 8, 2018
fe7982f
[p_master] Clean critical KW issue in BOOT-OTA domain
GraspEmpty Nov 11, 2018
8976eda
Fix keybox magic read error issue
Nov 14, 2018
0d03ce8
Add verify hash for acpi & acpio
Nov 20, 2018
b7a35f3
fastboot-NonAndroid-1.0 for APL_UP2
GraspEmpty Nov 20, 2018
b2e1fe9
Add size check for array 'EpHandles'
GraspEmpty Nov 21, 2018
14070bc
Fix a compile error if not use UI in UEFI platform.
tanminger Nov 23, 2018
6250d18
fix buffer overflow in keybox magic read/write operation
Nov 27, 2018
5d46ed7
[Osloader] reduce heci log
zhouji3x Nov 26, 2018
b014b29
Add product partition hash check.
Nov 27, 2018
535ef8b
Add the support of general block device.
tanminger Nov 16, 2018
d70526c
Fix a bug about init the avb ab_ops.
tanminger Nov 22, 2018
0ae2429
Disable AVB debug log out of libavb
yang-kaix Dec 3, 2018
3e358c5
support installer.efi flash two files together
Sep 30, 2018
acd2f86
Add BootloaderSeedProtocol.h, used for getting seed, keys from CSE.
tanminger Oct 18, 2018
cf4f5f8
Remove unnecessary rpmb key derivation on ABL based platform
Dec 12, 2018
9b5f078
Install early mount table when process boot in fastboot.
zhimincx Dec 19, 2018
c9c79ff
Support tos startup structure version 3
Dec 14, 2018
8760b97
Rebase Queueless Trusty IPC to latest upstream code
steven-lgs Dec 20, 2018
3ede849
Install ACPI talbe before trusty started
mengxianglinx Nov 23, 2018
9924f18
fix the syntax error
Dec 24, 2018
61d3f8a
Fix a bug that can cause array overflow
mengxianglinx Dec 25, 2018
eba4bdc
clean-up: disk offset variable MUST be UINT64
jeremy-compostella Jan 2, 2019
9fee202
Fix the checkpatch.pl error and warning
GraspEmpty Jan 4, 2019
75b92c2
Add function for stack protction
luo-heng Dec 27, 2018
dcd9e8b
allow installer.efi to flash multiple files
Dec 25, 2018
f899d3a
Add AVB Android Things eXtension (ATX)
spitfire88 Mar 1, 2018
ec9b4b5
Add the warning print function
kmengX Dec 10, 2018
83826d7
Add info() in kernelflinger
mengxianglinx Jan 11, 2019
2fe83de
Show progress when erase data
kmengX Dec 10, 2018
88fe467
Kernelflinger output some info when flashing data
mengxianglinx Jan 11, 2019
9ab12ce
Parse boot tsc passed from coreboot
yang-kaix Jan 21, 2019
f087484
For TPM, only allow lock owner and provison seed in unlock state.
tanminger Jan 24, 2019
391e9bc
Enable trusty start in fastboot boot
jwu55 Jan 3, 2019
07d3bc2
redefine MEMORY boot target usage and behavior
jeremy-compostella Dec 5, 2018
9f30832
Fix a bug in ui_confirm in user build of UEFI platform
mengxianglinx Jan 25, 2019
feb92b1
Provide necessary vbmeta options for 'fastboot boot'
mengxianglinx Jan 24, 2019
21f86f0
Fix a compile error for disable trusty.
zhimincx Jan 29, 2019
6fd3313
kf4abl: display the splash screen
jeremy-compostella Dec 13, 2018
fe659ed
libkernelflinger/ui: support PNG resources for images
jeremy-compostella Dec 18, 2018
bc67d15
libkernelflinger/ui_image: minor optimization
jeremy-compostella Dec 18, 2018
6781809
[Osloader][ui] fix memory corruption issue
zhouji3x Jan 29, 2019
0c4786c
Cache print progress in buffer when erasing or flashing
mengxianglinx Jan 29, 2019
30b21c6
clean-up: remove unnecessary use of __SUPPORT_ABL_BOOT
Jan 25, 2019
a51b521
Tune the code of check BIOS upgrade.
tanminger Feb 3, 2019
50512c0
fix a compile error of kernelflinger if enable the first stage mount
mengxianglinx Feb 12, 2019
8bdec9f
Change the vim modeline of kernelflinger.c.
tanminger Feb 3, 2019
543f717
06.04
xihua-chen Feb 14, 2019
69c8b98
remove the unnecessary USE_AVB in load_boot_image
Feb 15, 2019
274140f
issue fix: save and restore stack canary in android_clear_memory
Feb 14, 2019
61c5869
support flash esp/esp2 partition
luo-heng Jan 17, 2019
5dfb117
Support flash bootloader_a/_b partition in UEFI
luo-heng Jan 21, 2019
07658f5
Kernelflinger: Add NVME rpmb access support
zhouji3x Jan 4, 2019
d06bcbf
fix the erase error in SATA disk
mengxianglinx Feb 19, 2019
d187e91
Fix a Klocwork scan issue in check BIOS upgrade.
tanminger Feb 25, 2019
3c52460
Tune the code of checking kernelflinger upgrade.
tanminger Feb 13, 2019
959e3b8
Kernelflinger: Some long log of kernelflinger is suppressed
zhouyanhongx Feb 22, 2019
b65c2f0
Fix critical issue in internal KW scan for bootloader
GraspEmpty Feb 25, 2019
2d078cf
[debug][port from O]Add a countdown (demo purpose)]
Cbaoj Apr 15, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
526 changes: 511 additions & 15 deletions Android.mk

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Copyright (c) 2016, Intel Corportaion
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Empty file removed MODULE_LICENSE_BSD_LIKE
Empty file.
74 changes: 0 additions & 74 deletions Makefile

This file was deleted.

127 changes: 127 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
Kernelflinger
=============

Overview
--------

Kernelflinger is the Intel UEFI bootloader for
Android<sup>TM</sup>/Brillo<sup>TM</sup>. It is compatible with the
[UEFI 2.4 specification](http://www.uefi.org/sites/default/files/resources/2_4_Errata_B.pdf).

Kernelflinger implements the Google Bootloader requirements for
Android<sup>TM</sup> L, M, N and O desserts.

The key features are:

1. [Google verified boot](https://source.android.com/security/verifiedboot/verified-boot.html)
support.
2. [Android verified boot](https://android.googlesource.com/platform/external/avb/)
support.
3. [Fastboot](./doc/fastboot.md) support over USB and TCP.
4. [Installer](./doc/installer.md): Standalone EFI application that
can be used to flash a device from the EFI shell using an external
storage.
5. [Crashmode](./doc/crashmode.md): provides a simple access using adb
commmand to retrieve data from memory, partitions, EFI variables or
ACPI tables in case of OS crash.
6. [Trusty](./libqltipc/ql-tipc/README.md): support load and verify
TEE OS, and setup the IPC between TEE OS.

Basic architecture
------------------

* libkernelflinger: library that provides all the tools necessary to
access ACPI and SMBIOS tables, run image verification, use storage
(SATA, eMMC, SDCard and UFS) and draw graphic widgets.
* [libfastboot](./doc/fastboot.md): Fastboot protocol implementation.
[fastboot protocol](https://android.googlesource.com/platform/system/core/+/master/fastboot/)
* libadb: used by [Crashmode](./doc/crashmode.md).
* libefiusb: based on the non-standard DeviceMode protocol it provides
easy to use USB configuration, read and write functions and TX/RX
events callbacks.
* libefitcp: based on the standard UEFI TCP protocol, it provides easy
to use TCP configuration, read and write functions and TX/RX events
callbacks.
* libtransport: is a framework to abstract the transport layer. Used
by both libfastboot and libadb to support USB and TCP transport.
* libqltipc: used for setup the IPC between TEE OS.
* libheci: support HECI protocol.
* kernelflinger.c: main program that implements the boot flow.
* installer.c: main program of the [Installer](./doc/installer.md)

Dependencies
------------

Kernelflinger depends on the following libraries:
* gnu-efi (TODO: github link)
* openssl (TODO: github link)

Kernelflinger's compilation requires the following tools:
* [sbsigntool](https://github.com/android-ia/platform_external_sbsigntool):
EFI binary signer.
* [vendor\_intel\_build](https://github.com/android-ia/vendor_intel_build):
EFI compilation definitions for Android<sup>TM</sup>.

Compilation
-----------

Kernelflinger's compilation relies on the Android<sup>TM</sup>
compilation system. In an Android<sup>TM</sup> tree, with all the
dependencies checked out, run the following command to build
`$OUT/efi/kernelflinger.efi`.

```bash
$ make kernelflinger-$TARGET_BUILD_VARIANT
```

Run the following command to build `$OUT/efi/installer.efi`:

```bash
$ make installer-$TARGET_BUILD_VARIANT
```

Kerneflinger specific configuration flags:

* `TARGET_NO_DEVICE_UNLOCK`: if true, any attempt to unlock the device
(`fastboot flashing unlock`) will systematically fail.
* `HAL_AUTODETECT`: Cf. [Autodetect](./doc/autodetect.md).
* `TARGET_BOOTLOADER_POLICY`:
Cf. [Bootloader Policy and Factory Reset Protection](./doc/FRP.md)
* `KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE`: makes kernelflinger
ignore ACPI table oem\_id, oem\_table\_id and revision fields.
* `KERNELFLINGER_USE_POWER_BUTTON`: makes kernelflinger use the power
key as an input source.
* `KERNELFLINGER_USE_WATCHDOG`: makes kernelflinger start the "kernel"
watchdog prior booting the kernel.
* `KERNELFLINGER_USE_CHARGING_APPLET`: makes Kernelflinger use the
non-standard ChargingApplet protocol to get the battery and charger
status, and modify the boot flow in consequence.
* `KERNELFLINGER_IGNORE_RSCI`: makes Kernelflinger ignore the
non-standard RSCI ACPI table. This APCI table provides the reset
and wake source reasons.
* `KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET`: makes Kernelflinger
ignore the ACPI table RSCI reset source "not_applicable" when
setting the bootreason.
* `KERNELFLINGER_SSL_LIBRARY`: either 'openssl' or 'boringssl', makes
Kernelflinger build against the OpenSSL library, respectively, the
BoringSSL library. Note: the `TARGET_BOOTLOADER_POLICY` flag
cannot be used if `KERNELFLINGER_SSL_LIBRARY` is set to 'boringssl'
because the BoringSSL does not support the PKCS7 message format
which is used by the RMA force unlock feature
(Cf. [Bootloader Policy and Factory Reset Protection](./doc/FRP.md)).
* `BOARD_AVB_ENABLE`: support AVB (Android Verify Boot)
* `BOARD_SLOT_AB_ENABLE`: support AVB A/B slot.
* `KERNELFLINGER_USE_RPMB`: support use RPMB, it can be used by Trusty,
or save the AVB rollback index.
* `BUILD_ANDROID_THINGS`: enable some feature for Android Things.

Command line parameters
-----------------------

* `-f`: enforce kernelfliner to enter Fastboot mode
* `-U` [test-suite-name]: run unittest test (see
[unittest.c](./unittest.c)).

Copyright and Licence
---------------------
Kernelflinger is licensed under the terms of the BSD 2-Clause.
135 changes: 0 additions & 135 deletions acpi.c

This file was deleted.

Loading