Hi:

I am trying to use jailhouse-master on Ultra96 board, but met the problem 
as the title shows it:

My environment is as follows:

1. *The kernel is 5.15_LTS* with the patches picked from 
jailhouse-enabling/5.15, exporting __hyp_stub_vectors, 
__get_vm_area_caller..;
2. the command line is "earlycon console=ttyPS0,115200 clk_ignore_unused 
*mem=1536M* root=/dev/mmcblk0p2 rw rootwait cma=512M rfkill.default_state=0"
and the board has 2GB RAM;
*# cat /proc/iomem:*































































*00000000-3ecfffff : System RAM  00210000-0157ffff : Kernel code  
01580000-0179ffff : reserved  017a0000-0193ffff : Kernel data  
1ec00000-3ebfffff : reserved3ed00000-3ee47fff : reserved3ee48000-5fffffff : 
System RAM  5e100000-5fbfffff : reserved  5fc60000-5fc60fff : reserved  
5fc61000-5fca8fff : reserved  5fcab000-5fcadfff : reserved  
5fcae000-5fcbefff : reserved  5fcbf000-5fffffff : reserveda0030000-a003ffff 
: a0030000.gpio gpio@a0030000a0040000-a004ffff : a0040000.gpio 
gpio@a0040000a0050000-a005ffff : a0050000.gpio 
gpio@a0050000a0061000-a006ffff : seriala0071000-a007ffff : 
serialfd0b0000-fd0bffff : fd0b0000.perf-monitor 
perf-monitor@fd0b0000fd3d0000-fd3d0fff : fd400000.phy sioufd400000-fd43ffff 
: fd400000.phy serdesfd490000-fd49ffff : fd490000.perf-monitor 
perf-monitor@fd490000fd4a0000-fd4a0fff : fd4a0000.display 
dpfd4aa000-fd4aafff : fd4a0000.display blendfd4ab000-fd4abfff : 
fd4a0000.display av_buffd4c0000-fd4c0fff : fd4c0000.dma-controller 
dma-controller@fd4c0000fd4d0000-fd4d0fff : fd4d0000.watchdog 
watchdog@fd4d0000fd500000-fd500fff : fd500000.dma-controller 
dma-controller@fd500000fd510000-fd510fff : fd510000.dma-controller 
dma-controller@fd510000fd520000-fd520fff : fd520000.dma-controller 
dma-controller@fd520000fd530000-fd530fff : fd530000.dma-controller 
dma-controller@fd530000fd540000-fd540fff : fd540000.dma-controller 
dma-controller@fd540000fd550000-fd550fff : fd550000.dma-controller 
dma-controller@fd550000fd560000-fd560fff : fd560000.dma-controller 
dma-controller@fd560000fd570000-fd570fff : fd570000.dma-controller 
dma-controller@fd570000fd6e9000-fd6edfff : fd6e9000.pmu 
pmu@9000fe20c100-fe23ffff : fe200000.usb usb@fe200000fe300000-fe307fff : 
usb@fe300000  fe300000-fe307fff : xhci-hcd.1.auto 
usb@fe300000fe30c100-fe33ffff : fe300000.usb usb@fe300000ff000000-ff000fff 
: xuartpsff010000-ff010fff : xuartpsff030000-ff030fff : ff030000.i2c 
i2c@ff030000ff040000-ff040fff : ff040000.spi spi@ff040000ff050000-ff050fff 
: ff050000.spi spi@ff050000ff0a0000-ff0a0fff : ff0a0000.gpio 
gpio@ff0a0000ff150000-ff150fff : ff150000.watchdog 
watchdog@ff150000ff160000-ff160fff : ff160000.mmc 
mmc@ff160000ff170000-ff170fff : ff170000.mmc mmc@ff170000ff960000-ff960fff 
: ff960000.memory-controller memory-controller@ff960000ff9d0000-ff9d00ff : 
ff9d0000.usb0 usb0@ff9d0000ff9e0000-ff9e00ff : ff9e0000.usb1 
usb1@ff9e0000ffa00000-ffa0ffff : ffa00000.perf-monitor 
perf-monitor@ffa00000ffa10000-ffa1ffff : ffa10000.perf-monitor 
perf-monitor@ffa10000ffa50000-ffa507ff : ffa50000.ams 
ams-baseffa60000-ffa600ff : ffa60000.rtc rtc@ffa60000ffa80000-ffa80fff : 
ffa80000.dma-controller dma-controller@ffa80000ffa90000-ffa90fff : 
ffa90000.dma-controller dma-controller@ffa90000ffaa0000-ffaa0fff : 
ffaa0000.dma-controller dma-controller@ffaa0000ffab0000-ffab0fff : 
ffab0000.dma-controller dma-controller@ffab0000ffac0000-ffac0fff : 
ffac0000.dma-controller dma-controller@ffac0000ffad0000-ffad0fff : 
ffad0000.dma-controller dma-controller@ffad0000ffae0000-ffae0fff : 
ffae0000.dma-controller dma-controller@ffae0000ffaf0000-ffaf0fff : 
ffaf0000.dma-controller dma-controller@ffaf0000*
---
The issue:

*Everything seems OK until I tried to:*
*# jailhouse enable ultra96.cell;*
it fails with *"jailhouse: failed to add virtual host controller*";

I did some debug:
1. it fails in* of_property_read_u32(root, “”#address-cells”...) *when 
create_vpic_of_overlay(); though the previouse "of_find_node_by_path("/")" 
successes. 
I checked the address of this "root", it is expected; 
even if I tried of_property_read_u32(of_root, "#address-cells"...), it 
still fails;
2. I tried to dump the properity's name with the following kernel patch:












*diff --git a/drivers/of/base.c b/drivers/of/base.cindex 
54719f8156ed..6dc7eb50bb11 100644--- a/drivers/of/base.c+++ 
b/drivers/of/base.c@@ -198,6 +198,8 @@ static struct property 
*__of_find_property(const struct device_node *np,                return 
NULL;        for (pp = np->properties; pp; pp = pp->next) {+               
if ((np == of_root) && (strcmp(name, "#address-cells") == 0))+             
          pr_info("root node: name = %s\n", pp->name);                if 
(of_prop_cmp(pp->name, name) == 0) {                        if (lenp)      
                          *lenp = pp->length;*

before executing "*on_each_cpu(enter_hypervisor, header, 0)*", it is OK;

* OF: root node: name = compatible OF: root node: name = #address-cells*
but with "on_each_cpu(entery_hypervisor, header, 0)", the log is as 
following:


* OF: root node: name =  OF: root node: name = *
* OF: root node: name = name*
Seems the propery name is “hidden” by something(?)

Could you please give me some advice on this?what should I check next?
Thank you very much


*---*
Yi Zhang

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/dae2bca3-ec45-401a-be76-61ad2e83130an%40googlegroups.com.

Reply via email to