coreboot-kgpe-d16/payloads/libpayload/include
Yidi Lin eabdd0252a libpayload/libc/time: Fix possible overflow in multiplication
The value from raw_read_cntfrq_el0() could be large enough to cause
overflow when multiplied by USECS_PER_SEC. To prevent this, both
USECS_PER_SEC and hz can be reduced by dividing them by their GCD.

This patch also modifies the return type of `timer_hz()` from
`uint64_t` to `uint32_t`, assuming that in practice the timestamp
counter should never be that fast.

BUG=b:307790895
TEST=boot to kernel and check the timestamps from `cbmem`

Change-Id: Ia55532490651fcf47128b83a8554751f050bcc89
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78888
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-11-07 19:25:23 +00:00
..
arm/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arm64/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arpa
mock/arch
pci
storage
sys
udc
usb
x86/arch x86/cache.c: Implement dcache_* 2022-09-01 14:21:11 +00:00
archive.h
assert.h libpayload: Use __func__ instead of old __FUNCTION__ 2023-02-17 16:19:44 +00:00
boot_device.h libpayload: Add boot_device_read() function 2021-12-10 17:56:34 +00:00
cbfs.h libpayload/libcbfs: Add unverified_area APIs 2022-01-12 16:15:59 +00:00
cbfs_core.h libpayload: Implement new CBFS access API 2022-01-10 14:30:04 +00:00
cbfs_glue.h cbfs/vboot: Adapt to new vb2_digest API 2022-09-02 23:51:29 +00:00
cbfs_legacy.h libpayload: Fix legacy CBFS code after recent refactoring 2022-01-14 00:41:13 +00:00
cbfs_ram.h
cbgfx.h
coreboot_tables.h {commonlib, libpayload}: Add "has_external_display" in coreboot table 2023-10-04 18:50:49 +00:00
ctype.h
delay.h libpayload: Outsource delay function into own header 2023-08-24 13:35:02 +00:00
die.h libpayload: Use __func__ instead of old __FUNCTION__ 2023-02-17 16:19:44 +00:00
endian.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
errno.h
exception.h
fmap.h commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
fpmath.h
gdb.h
getopt.h
inttypes.h
ipchksum.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
kconfig.h
keycodes.h
libpayload.h libpayload/libc/time: Fix possible overflow in multiplication 2023-11-07 19:25:23 +00:00
limits.h
lp_vboot.h libpayload: Add vboot and reboot utility functions 2023-09-18 15:42:31 +00:00
lz4.h
lzma.h
malloc.h
multiboot_tables.h
panel.h
pci.h libpayload/pci: Add support for bus mapping 2022-05-20 02:51:33 +00:00
queue.h
stdarg.h libpayload/include/stdarg.h: Add va_copy builtin 2023-08-17 16:46:07 +00:00
stdbool.h
stddef.h libpayload: Outsource delay function into own header 2023-08-24 13:35:02 +00:00
stdint.h
stdio.h
stdlib.h libpayload: Use __func__ instead of old __FUNCTION__ 2023-02-17 16:19:44 +00:00
string.h libpayload/string: add strndup() function 2023-02-16 17:54:51 +00:00
strings.h libpayload: strings.h: Use builtin __ffs instead of included one 2023-03-07 17:11:05 +00:00
sysinfo.h libpayload: Add parsing of SMBIOS address 2023-08-17 15:48:56 +00:00
term.h
time.h
unistd.h
video_console.h
wchar.h