-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Xen doesn't map any range of memory not explicitly specified in the device tree. Unfortunately, the framebuffer memory region is not specified in the device tree, so Xen doesn't map that region. Accesses to the framebuffer memory were being trapped by Xen, leading to a Linux kernel panic. Work around this by introducing a dummy device to get Xen to map the frame buffer region. Signed-off-by: Stewart Hildebrand <[email protected]>
- Loading branch information
Showing
2 changed files
with
26 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,10 +4,10 @@ Subject: [PATCH] Add Xen overlay for the Pi 4 | |
|
||
Signed-off-by: Corey Minyard <[email protected]> | ||
--- | ||
arch/arm/boot/dts/overlays/Makefile | 4 +++- | ||
.../boot/dts/overlays/pi4-32-xen-overlay.dts | 21 +++++++++++++++++++ | ||
.../boot/dts/overlays/pi4-64-xen-overlay.dts | 21 +++++++++++++++++++ | ||
3 files changed, 45 insertions(+), 1 deletion(-) | ||
arch/arm/boot/dts/overlays/Makefile | 4 +- | ||
.../boot/dts/overlays/pi4-32-xen-overlay.dts | 21 ++++++++++ | ||
.../boot/dts/overlays/pi4-64-xen-overlay.dts | 39 +++++++++++++++++++ | ||
3 files changed, 63 insertions(+), 1 deletion(-) | ||
create mode 100644 arch/arm/boot/dts/overlays/pi4-32-xen-overlay.dts | ||
create mode 100644 arch/arm/boot/dts/overlays/pi4-64-xen-overlay.dts | ||
|
||
|
@@ -55,10 +55,10 @@ index 000000000000..47afa6ac24b7 | |
+}; | ||
diff --git a/arch/arm/boot/dts/overlays/pi4-64-xen-overlay.dts b/arch/arm/boot/dts/overlays/pi4-64-xen-overlay.dts | ||
new file mode 100644 | ||
index 000000000000..362e238576bf | ||
index 000000000000..6c499a831db6 | ||
--- /dev/null | ||
+++ b/arch/arm/boot/dts/overlays/pi4-64-xen-overlay.dts | ||
@@ -0,0 +1,21 @@ | ||
@@ -0,0 +1,39 @@ | ||
+// Xen configuration for Pi 4 | ||
+/dts-v1/; | ||
+/plugin/; | ||
|
@@ -79,6 +79,24 @@ index 000000000000..362e238576bf | |
+ }; | ||
+ }; | ||
+ }; | ||
+ | ||
+ /* Introduce a dummy device node to make Xen map the framebuffer */ | ||
+ fragment@1 { | ||
+ target-path = "/"; | ||
+ __overlay__ { | ||
+ fb_bus { | ||
+ compatible = "simple-bus"; | ||
+ ranges; | ||
+ #address-cells = <2>; | ||
+ #size-cells = <1>; | ||
+ fb_mem { | ||
+ compatible = "dummy"; | ||
+ status = "okay"; | ||
+ reg = <0x0 0x3b400000 0x04c00000>; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+ }; | ||
+}; | ||
-- | ||
2.34.0 | ||
|