coreboot-kgpe-d16/payloads/libpayload/include
Julius Werner ca52a25882 libpayload: arm64: Conform to new coreboot lib_helpers.h and assume EL2
This patch adds the new, faster architectural register accessors to
libpayload that were already added to coreboot in CB:27881. It also
hardcodes the assumption that coreboot payloads run at EL2, which has
already been hardcoded in coreboot with CB:27880 (see rationale there).
This means we can drop all the read_current/write_current stuff which
added a lot of unnecessary helpers to check the current exception level.

This patch breaks payloads that used read_current/write_current
accessors, but it seems unlikely that many payloads deal with this stuff
anyway, and it should be a trivial fix (just replace them with the
respective _el2 versions).

Also add accessors for a couple of more registers that are required to
enable debug mode while I'm here.

Change-Id: Ic9dfa48411f3805747613f03611f8a134a51cc46
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/29017
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2018-10-12 20:14:54 +00:00
..
arm/arch Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
arm64/arch libpayload: arm64: Conform to new coreboot lib_helpers.h and assume EL2 2018-10-12 20:14:54 +00:00
arpa Refactor the endianness conversion functions and header files. 2012-11-08 19:49:51 +01:00
mips/arch Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
pci libpayload: Add pci_free_dev() and some boilerplate 2017-12-07 21:51:24 +00:00
storage libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
sys libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
udc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
usb libpayload: Add UNKNOWN_SPEED to usb_speed enum 2018-07-17 15:23:36 +00:00
x86/arch libpayload/apic: Only ACK interrupts triggered by the APIC 2018-10-04 15:24:20 +00:00
archive.h libpayload: add archive.h 2015-12-16 19:00:53 +01:00
assert.h libpayload: Fix the format string of the assert macro. 2012-11-07 18:36:05 +01:00
cbfs.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
cbfs_core.h util/cbfstool: Support FIT payloads 2018-06-15 09:13:24 +00:00
cbfs_ram.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
cbgfx.h detachables: Add invert parameter 2017-05-25 18:23:56 +02:00
compiler.h add __must_check to */compiler.h 2017-08-08 18:18:03 +00:00
coreboot_tables.h cbtable: remove chromeos_acpi from cbtable 2018-08-22 15:33:50 +00:00
ctype.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
die.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
endian.h endian: Fix bebitenc() to actually encode big-endian 2017-11-06 20:46:37 +00:00
errno.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
exception.h libpayload/x86/exception: Add ability to handle user defined interrupts 2018-09-10 15:01:04 +00:00
fmap_serialized.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
gdb.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
getopt.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
inttypes.h libpayload: Start using only internal and compiler headers. 2013-03-13 22:04:44 +01:00
ipchksum.h libpayload: Add a new "die" function to fatally signal programming errors. 2014-09-15 17:37:13 +02:00
kconfig.h libpayload: Change CONFIG_* to CONFIG_LP_* in the kconfig. 2014-08-05 18:44:08 +02:00
keycodes.h libpayload: Make keycode constants available outside of curses.h. 2013-03-18 20:45:48 +01:00
libpayload.h libpayload/libc/time: Add an arch_ndelay() 2018-09-12 14:15:18 +00:00
limits.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
lz4.h cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
lzma.h LZMA: Add a version of ulzma which takes the input and output buffer sizes. 2014-08-10 22:29:51 +02:00
malloc.h libpayload: Provide atol(), malloc.h 2011-07-07 22:29:53 +02:00
multiboot_tables.h libpayload: multiboot - support meminfo flag 2017-02-17 18:20:38 +01:00
panel.h libpayload: Add PDCurses and ncurses' libform/libmenu 2011-08-04 08:10:41 +02:00
pci.h libpayload: Add definitions for more config space registers. 2012-11-07 18:36:27 +01:00
queue.h payloads: Remove/fix trailing whitespace 2018-09-04 12:38:40 +00:00
stdarg.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
stddef.h libpayload/libc/time: Add an arch_ndelay() 2018-09-12 14:15:18 +00:00
stdint.h libpayload: Add ptrdiff_t typedef 2015-10-20 16:50:25 +02:00
stdio.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
stdlib.h libpayload: Move GDB functions to stdlib.h 2018-04-19 20:39:29 +00:00
string.h libpayload: UTF-16LE to ASCII conversion 2015-03-20 09:59:48 +01:00
strings.h libpayload: Revive ffs() 2015-09-10 20:11:33 +00:00
swab.h libpayload: arch/mips: Add basic MIPS architecture support 2015-03-21 11:07:50 +01:00
sysinfo.h cbtable: remove chromeos_acpi from cbtable 2018-08-22 15:33:50 +00:00
term.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
time.h libpayload: add time() 2017-08-21 16:53:20 +00:00
unistd.h libpayload: Don't sneak in compiler includes 2013-04-18 02:50:28 +02:00
video_console.h Add coreboot framebuffer support to libpayload 2010-03-25 18:56:26 +00:00