On 2017-01-05 14:44, Ralf Ramsauer wrote:
> Hi Jan,
> 
> On 01/05/2017 10:44 AM, Jan Kiszka wrote:
>> On 2016-12-23 13:00, Ralf Ramsauer wrote:
>>> On ARM32 `uname -m` might return 'armv7l', on ARM64, it might return
>>> 'aarch64', which is not the correct ARCH in these cases. The correct
>>> ARCH is arm for ARM32 bit and arm64 for ARM64.
>>>
>>> Signed-off-by: Ralf Ramsauer <[email protected]>
>>> ---
>>>  scripts/include.mk | 6 ++++++
>>>  1 file changed, 6 insertions(+)
>>>
>>> diff --git a/scripts/include.mk b/scripts/include.mk
>>> index 740e7b03..aca5a5b7 100644
>>> --- a/scripts/include.mk
>>> +++ b/scripts/include.mk
>>> @@ -52,3 +52,9 @@ ARCH ?= $(shell uname -m)
>>>  ifeq ($(ARCH),x86_64)
>>>  override ARCH = x86
>>>  endif
>>> +ifneq (,$(findstring arm,$(ARCH)))
>>> +override ARCH = arm
>>> +endif
>>
>> This matches on arm64 as well and causes unintuitive breakages there
> does it? On `uname -m`, my TX1 reports "aarch64", which is far away from
> containing "arm".
>> because the wrong loader is installed - grrr.
> Strange. I don't see what's wrong with it (latest next):

make ARCH=arm64 ... install DESTDIR=...

i.e. cross-installation. In that case, ARCH is already correctly set and
will now be mangled to "arm" by this patch.

> 
> On my TX1:
> 
> tx1 jailhouse # make install
> [...]
> install -m 644 hypervisor/jailhouse*.bin /lib/firmware
> install -m 644 inmates/tools/arm64/*.bin /usr/local/libexec/jailhouse
> install jailhouse /usr/local/sbin
> install jailhouse-cell-linux jailhouse-cell-stats
> jailhouse-config-create jailhouse-hardware-check
> /usr/local/libexec/jailhouse
> install -m 644 jailhouse-config-collect.tmpl root-cell-config.c.tmpl
> /usr/local/share/jailhouse
> install -m 644 jailhouse-completion.bash
> /usr/share/bash-completion/completions/jailhouse
> 
> On my TK1:
> 
> tk1 jailhouse # make install
> [...]
> install -m 644 hypervisor/jailhouse*.bin /lib/firmware
> install -m 644 inmates/tools/arm/*.bin /usr/local/libexec/jailhouse
> install jailhouse /usr/local/sbin
> install jailhouse-cell-linux jailhouse-cell-stats
> jailhouse-config-create jailhouse-hardware-check
> jailhouse-config-collect /usr/local/libexec/jailhouse
> install -m 644 jailhouse-config-collect.tmpl root-cell-config.c.tmpl
> /usr/local/share/jailhouse
> install -m 644 jailhouse-completion.bash
> /usr/share/bash-completion/completions/jailhouse

Those are all native, thus unaffected.

>>
>> Do we only have to fix up "armv7l"? Then what about
> I'm not sure.

Then we fix up armv7l now and wait for other issues to appear. I suppose
there is otherwise only armv7b, ie. big endian, and that is unsupported
by Jailhouse so far anyway.

>>
>> ifeq ($(ARCH),armv7l)
>>
>> instead?
>>
>>> +ifeq ($(ARCH),aarch64)
>>> +override ARCH = arm64
>>> +endif
>>>
>>
>> BTW, if you could test current next on your setups (TK1, TX1), that
>> would be appreciated. I'm basically doing
>>
>> - enable
>> - create/load/start gic-demo
>> - destroy gic-demo
>> - load linux
>> - ssh linux
>> - disable
> Yep, just tested it.

Great, thanks!

> I did not test 'cell linux' on arm64, as I'm
> missing a inmate dtb for my TX1, but:
> 
> tx1 jailhouse # md5sum inmates/tools/arm64/linux-loader.bin
> /usr/local/libexec/jailhouse/linux-loader.bin
> f97809ab538db18a7531aef6aca67af8  inmates/tools/arm64/linux-loader.bin
> f97809ab538db18a7531aef6aca67af8
> /usr/local/libexec/jailhouse/linux-loader.bin
> 
> So apparently the correct loader got installed on my TX1.
> 
> Sorry if I messed sth. up and this caused trouble to you, but I'm not
> able to reconstruct this issue here.

Never mind, it's also /me who miss that detail. Good that we found it
before the release.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to