Commit graph

706 commits

Author SHA1 Message Date
Janne Grunau
6466f8dec8 dcp: Parse dart SID for DCP
Required for M2 which for which the dice showed "5".

Signed-off-by: Janne Grunau <j@jannau.net>
2023-02-02 09:50:33 +09:00
Janne Grunau
8af2489d84 dart: Increase IO address space to 36-bit
This address space a single TTBR can hold with a 16k page size. Required
for DCP on M2.

Signed-off-by: Janne Grunau <j@jannau.net>
2023-02-02 09:50:33 +09:00
Janne Grunau
93abc760b2 dart: Add checks to dart_translate_internal()
Previous assumptions are not longer true with dart8110 on M2.

Signed-off-by: Janne Grunau <j@jannau.net>
2023-02-02 09:50:33 +09:00
Janne Grunau
c3c29bbd92 dart: Allow SIDs != 0 in dart_setup_pt_region()
Required for dart-dcp on M2 and M2 Pro/Max.

Signed-off-by: Janne Grunau <j@jannau.net>
2023-02-02 09:50:33 +09:00
Janne Grunau
72cdec0e31 dart: Use "vm-base" as start when installing L2 tables
Additional L2 tables for dart-dcp/disp0 need to be from carveout memory
so they can kept after m1n1 exist. iboot has "pt-region-X" and "l2-tt-X"
in the ADT. For DCP on M2 we have to start installing them at "vm-base"
which is 0x8_0000_0000.
This probably causes problems on M2 Pro which uses 1 << 40 as vm-base
for dart-dcp0.

Signed-off-by: Janne Grunau <j@jannau.net>
2023-02-02 09:50:33 +09:00
Sasha Finkelstein
d110da1e75 copy the touchscreen calibration
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
2023-01-28 21:58:44 +09:00
Sven Peter
90d0cd6b89 kboot: Copy ACIO tunables and DROM data
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2023-01-28 10:56:03 +09:00
Mark Kettenis
951afdd033 kboot: Add new U-Boot driver model 'phase-tags'
U-Boot is moving to a new set of tags to indicate devices that
should be bound/probed in early bootstrap phases.  Add 'bootph-all'
tags from the new bindings such that probing the serial port
early on in U-Boot continues to work and doesn't hang the system.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
2023-01-22 23:54:00 +09:00
Janne Grunau
a56e3fbc78 kboot: dcp: Add "memory-region-names" properties
Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Janne Grunau
fe38315f1c kboot: reserve framebuffer from "/vram"
Fixes dcp if m1n1 reallocated the framebuffer due to large boot display
resolution. In that case we update "/vram" but leave the carveout
unmodified.

Use "framebuffer" as compatible string as proposed in
https://lore.kernel.org/dri-devel/20221117184039.2291937-4-thierry.reding@gmail.com/

Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Janne Grunau
d73f53d9a0 kboot: dcp: Use "apple,asc-mem" as compatible strings for reserved memory
This is in preparation for the next commit to use "framebuffer" as
compatible string for the boot framebuffer. This is in line with a
proposed change for boot framebuffer handling on Nvidia Tegra SoCs.
It will allow removing simpledrm via
drm_aperture_remove_conflicting_framebuffers().

Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Janne Grunau
9ca6016a4e kboot: dcp: Use "apple,asc-mem" as compatible strings for reserved memory
This is in preparation for the next commit to use "framebuffer" as
compatible string for the boot framebuffer. This is in line with a
proposed change for boot framebuffer handling on Nvidia Tegra SoCs.
It will allow removing simpledrm via
drm_aperture_remove_conflicting_framebuffers().

Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Janne Grunau
4ed1a9c862 kboot: move dt_carveout_reserved_regions() after refactoring
Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Janne Grunau
2667b10054 kboot: refactor dt_carveout_reserved_regions()
The main part of function will be used to add a reserved memory region
for the framebuffer from "/vram" instead of the carveout.

Signed-off-by: Janne Grunau <j@jannau.net>
2023-01-22 23:47:40 +09:00
Asahi Lina
3d28ac4d6f tools/chainload.py: Properly sleep DCP when chainloading macOS
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-01-20 18:18:13 +09:00
Martin Povišer
7db691737e kboot: Transfer virtio nodes from ADT to FDT
Signed-off-by: Martin Povišer <povik@cutebit.org>
2023-01-13 17:25:25 +09:00
Martin Povišer
6661ab14d0 hv: Add 9P virtio peripheral
Add some minimal implementation of virtio peripherals. At the level
of on-target hypervisor code we implement the MMIO layout and
maintain virtqueues. Once a buffer is available, we break into the
host proxyclient to deal with it.

Specific device-classes of the virtio spec ought to be implemented in
the proxyclient. Here the one device implemented is 9P transport,
exporting the m1n1 source directory.

Signed-off-by: Martin Povišer <povik@cutebit.org>
2023-01-13 17:25:25 +09:00
Hector Martin
fb36e30236 firmware: Add support for 12.3.1 firmware.
This includes mapping it to 12.3.0 for compat in both DCP and GPU.

Added for machines with replaced logic boards that trigger the 12.3
bootloop issue.

Also fix the 12.5/12.6 version arrays which were wrong.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-12-08 23:04:01 +09:00
Janne Grunau
426604926d kboot/dcpext: Fix mapping of dcp_txt on t8112 / M2
dcp_txt is mapped on dart-dcp and dart-dcpext so check if its reserved
memory node already exist before adding it.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-12-04 22:04:40 +09:00
Janne Grunau
159c553c6a kboot: Call dt_set_dcp_firmware() from dt_carveout_reserved_regions()
This avoids having duplicate calls for dcpext* on each mayor SoC
variant. Fixes setting firmware versions for dcpext on t8103 and t8112.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-12-04 22:04:40 +09:00
Hector Martin
2abf2b1693 kboot: Forward DCP firmware versions into the DT
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-12-04 16:06:27 +09:00
Hector Martin
e1b2c45f34 kboot_gpu: Set firmware versions from ADT
The kernel side doesn't check this yet, we'll let Lina take care of
that.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-12-04 16:06:27 +09:00
Hector Martin
c8d95baca0 kboot: Forward iBoot, firmware and m1n1 versions into the DT
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-12-04 16:06:27 +09:00
Hector Martin
c19303dc87 firmware: New module to detect firmware version
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-12-04 16:06:27 +09:00
Asahi Lina
db93de58b8 kboot_gpu: Add proper max-power and leakage calculations for t8112
This uses a similar algorithm to t600x, but with different constants and
exponents. The current limit also engages here, so add it, and add the
t600x one too (even though it is never hit).

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
d20d89b704 tunables_static: Add t8112 GPU tunables
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
f9862415b1 tunables_static: Add t600x GPU tunables
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
e6ffbb018b kboot_gpu: Add proper max-power and leakage calculations for t600x/t8103
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
057151cb21 math: Add expf() implementation from musl
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
444c3c854b kboot_gpu: Dummy t8112 power calculation
This is wrong but it will do for now

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
3278d75453 kboot_gpu: Add preliminary T600x support
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:17:10 +09:00
Asahi Lina
4a6a4c0376 kboot: Add initial GPU property forwarding
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-12-04 13:15:55 +09:00
Janne Grunau
0aafd74b69 kboot: Transfer display memory carveouts for M2
Signed-off-by: Janne Grunau <j@jannau.net>
2022-11-29 01:33:30 +09:00
Janne Grunau
a954eb47f9 dart: Support locking dart-t8110
Signed-off-by: Janne Grunau <j@jannau.net>
2022-11-29 01:33:30 +09:00
Janne Grunau
ba1dfab4d2 kboot: Enable dart-disp0 as part of the display setup
Devicetrees with dart-disp0 will have it disabled to avoid breaking
scanout off the boot framebuffer when booting via m1n1 version which
does not lock dart-disp0.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-11-15 17:52:16 +09:00
Janne Grunau
0bb521c2c3 kboot: Save notch height in dcp node
DCP will use this information to provide "notch-less" display modes.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-26 01:22:00 +09:00
Janne Grunau
53e6254497 kboot: Skip over missing dcp aliases
Prevents failing on non-existant carveout regions from the M1 Ultra on
M1 Pro/Max.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-26 01:22:00 +09:00
Hector Martin
aa0a3e6fcf kboot: Don't fail if there are fewer than 6 DCPEXTs on t600x
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-10-25 00:23:42 +09:00
Janne Grunau
ca68e1a9d2 kboot: Transfer dcpext* iommu mappings to device tree
Only dcpext* has memory mapped iboot.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Janne Grunau
21dc622735 kboot: Transfer display related memory carveouts to device tree
DCP and disp0 need their bootloader iommu mappings maintained until
an OS driver can take over. DCP's mappings have to be kept
indefinitively since it's unknown if or how it can be restarted.

Bindings based on
https://lore.kernel.org/asahi/20220923123557.866972-1-thierry.reding@gmail.com

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Janne Grunau
7ae0aac831 kboot: lock dart-disp0 to prevent accidental resets
This prevents older systems from resetting dart-disp0 on init when they
encounter device trees with DCP/disp nodes.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Janne Grunau
e5db7233a9 dart: add dart_init_fdt()
Used to intialize by FDT phandle.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Janne Grunau
d27ca705c1 devicetree: Add dt utils for "ranges" based address translation
Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Janne Grunau
f1664ccef4 dart: Add DART_PTR_ERR to indicate failures for IOVA returning functions
0 is a valid and used device virtual address. Daart functions returning
device address can not use 0 to indicate errors.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-10-23 17:21:26 +09:00
Hector Martin
2e1ed1d457 nvme: Increase enable timeout to 5s, do a clean shutdown on fail
It seems unclean startup sometimes takes longer. On top of that, if we
don't do a clean shutdown in the error path, the next startup will
continue failing (we know hard-disable triggers races and crashes the
ASC).

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-10-17 22:14:21 +09:00
Asahi Lina
67901fa1bb main: Move tunables_apply_static() here
m1n1 python scripts probably want this too, let's just do it
unconditionally.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
d6d72b6398 hv_exc: Pass through TLBI OS instructions
Gues VM TLBI OS instructions don't work. Trap them and pass them through
as the host.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
d8c2d68ebf exception: Fix FAR decoding in GL2
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
52e72c62b8 hv: Fix bugs in split r/w emulation
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
4274c9d74a hv: Log memory attribute & sharability info in mmiotrace
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Janne Grunau
81acfe96d8 kboot: Adapt multi-die handling to linux submitted DT
"simple-bus" restricts the node names to predefined list. "soc" looks
like the most appropiate name considering the dies are M1 Max SoCs.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-09-28 01:23:28 +09:00
Asahi Lina
fe0d3e8e34 tunables_static: New module to set up static tunables
This is for things that xnu hard-codes. This first one for AGX is
required to make coprocessor TLB coherency work properly...

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:04:41 +09:00
Asahi Lina
a15eb0919d hv_vm: Support LDAR/STLR instructions
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:04:41 +09:00
Asahi Lina
da9ceddeac memory: Map lowmem using 16K pages only
Turns out CTRR does not like working with huge pages, and just throws up
its hands in the air with an L2 address size fault if a huge page
overlaps the CTRR region.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
6feceef2b0 hv_vm: Retry mapped page faults
This is usually a race that happens when the Python side has just
removed a hook, but there was already a CPU core faulting on an access.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Hector Martin
c0b1dbea20 kboot: Fix chosen arg setting with >1 var
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-18 20:17:51 +09:00
James Calligeros
ca47121561 kboot: inject Apple serial number into the FDT
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-08-30 22:32:03 +09:00
Janne Grunau
0f0ddf3397 hv_exc: Add s3_7_c15_c3_1 sysreg passthroughs for t8112/macos 12.4
Boot panics due to what appears a timeout without ignoring this sys_reg
in m1n1.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:30:22 +09:00
Hector Martin
4c672c00b6 iodev, uartproxy: Fix write interleaving causing corruption
This should fix the issue where console writes from another CPU in the
middle of events/etc corrupt data

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
170cca1482 mcc: Also unmap memory aliases
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
8fa5659bab kboot: Squelch die-count warning
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
8f945fcdfe exception: Clean up FIQ state on secondary startup
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Asahi Lina
ad29c08ab8 exception: Clear L2C error flags on exception
Some of these errors are apparently sticky / write-1-to-clear, and if we
don't do this, then the SError behaves as level-triggered and just continues
to fire.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 18:33:32 +09:00
Asahi Lina
89a482fcab memory: Do not invalidate Normal-NC mappings
We probably don't need it, and the hypervisor doesn't like it.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 17:17:22 +09:00
Asahi Lina
6f6073a531 exception: Fix a lot of brokenness when exceptions are taken in GLx
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
e1b12a6983 usb_dwc3: Make it 3 times faster
We can use buffers that are more than one packet in size!

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
15d04b3778 proxy: Expose hv_write_hcr()
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:02:55 +09:00
Asahi Lina
b6d2cc127c hv_exc: Add support for resetting stolen time delta
This is useful to re-sync AGX, since it shares the same timebase as the
CPU.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:49 +09:00
Asahi Lina
e3d5f70244 afk: Correctly ack unknown messages during init
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-05 15:26:05 +09:00
Hector Martin
0c04783a86 main: Check for SIP disable for proxy backdoor mode
Seems -v stopped being filtered (or never was?). Explicitly check boot
policy, so we don't depend on boot-args filtering directly (which can
change). -v still makes things verbose unconditionally, but the proxy
backdoor now requires that plus full SIP disable (sip0=127).

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 11:18:23 +09:00
Hector Martin
f61e5d4958 cpu_regs: Add more chicken bit names
These are from a public Apple source that shall remain unidentified
(because it's utterly silly that they keep trying to hide these).

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-17 03:17:13 +09:00
Hector Martin
ee0667e190 chickens_avalance: Add missing HID11_DISABLE_LD_NT_WIDGET
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-17 01:43:32 +09:00
Hector Martin
ffc38f84ac kboot: Grab kblang-calibration for M2
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:44:48 +09:00
Hector Martin
9769200f60 nvme: Reset ANS as well as ANS2
M2 machines call it that...

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:08:28 +09:00
Hector Martin
a5a57c230e pmgr: Add pmgr_adt_reset()
This isn't actually useful for NVMe, but let's keep it...

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:04:42 +09:00
Sven Peter
aacbfc04e9 kboot: swap BD address
Unlike the MAC addresses Bluetooth addresses have to be stored
in little-endian byte order (see devicetree/bindings/net/bluetooth.txt)

Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-11 19:56:42 +09:00
Hector Martin
b1ad2d340f asc: Do not clear ASC run bit while running
Some ASCs will get stuck if we do that. Instead, explicitly clear it
after an RTKit shutdown.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
4555cc5148 dapf: Initialize DAPFs from the ADT
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-03 23:27:50 +09:00
Hector Martin
ecfed3e100 pcie: Add t8112 support
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-01 23:37:00 +09:00
Hector Martin
bf09fcd286 asc: Add retries and a timeout to asc_send
Fixes: #211
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-01 18:03:42 +09:00
Sven Peter
481e4ceefc kboot: use 'local-bd-address' for bluetooth mac address
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-01 17:58:02 +09:00
Sven Peter
2c37105412 kboot: propagate bluetooth calibration blob
Depending on the chip stepping (stored in the OTP) either the blob for
beamforming or the normal calibration blob has to be used.

Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-01 17:58:02 +09:00
Hector Martin
b1f9d72554 hv: Don't touch DCP on laptops
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
1ac6c7659d smp: Add T8112 support
PMGR cpustart offset moved...

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
55ca4855a5 cpufreq: Add T8112 clusters
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
b077c08181 dart: Add dart,t8110 support
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
bfd03cf428 mcc: Add t8112 support
This is compatible with t8103.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
ece84e0acb mcc: Make more robust
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
c481c0799b main: Fix version number message
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
22adc922f7 chickens: Add T8112 chickens
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
b16a19715a chickens: Split off core sequences into separate files
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
d9c1ef7d49 cpu_regs: Add new defines for T8112 chickens
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
8a607f049f soc: Add T8112 defines
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
c947b600c7 main: Add a BRINGUP define to disable ~everything but UART
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Vincent Duvert
66a85593db AFK: limit number of tries in start_interface
Signed-off-by: Vincent Duvert <vincent@duvert.net>
2022-06-21 17:20:54 +09:00
Hector Martin
f3ce8a68d0 smp: Fix pathological thrashing with the hypervisor
Writing to the IPI register causes a trap, which sets the event...
causing every CPU to go into a tight loop of traps contended on the BHL.

We don't need to clear IPIs in WFE mode, so don't do that.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 21:53:42 +09:00
Hector Martin
849729f0c0 memory: Add GRE and nGRE mappings for experiments
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 21:53:06 +09:00
Hector Martin
c95189ba2e memory: Normalize naming of Normal-NC memory attributes
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 16:12:16 +09:00
Hector Martin
ee2949e744 smp: Use stronger barriers around wfe/sev
Not sure if this fixes anything, but it looks more correct.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 15:21:59 +09:00
Asahi Lina
ffe2f4104e fb: Support XBGR pixel format for fb_blit()
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 01:36:41 +09:00