On 26/08/2021 22:35, Moustafa Nofal wrote:
>>>Yes, set JAILHOUSE_CELL_AARCH32 in the cell configs' flags field.  
> I added this flag to rpi4.c
> .header = {
> .signature = JAILHOUSE_SYSTEM_SIGNATURE,
> .revision = JAILHOUSE_CONFIG_REVISION,
> .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE | JAILHOUSE_CELL_AARCH32,

Yes, but this won't change the compiler for your inmate code, this is
just the definition that the cell will be resetted in AARCH32 mode. For
FreeRTOS, it is probably the best to compile it out-of-tree.

> 
> I am just wondering, if it possible to do a bare metal context switching
> in assembly?

Why should that not be possible?… But in the end, it depends on what
you're trying to achieve.

  Ralf

> 
> On Thursday, 26 August 2021 at 22:10:22 UTC+2 [email protected] wrote:
> 
>     On 26.08.21 21:38, Ralf Ramsauer wrote:
>     > Moustafa,
>     >
>     > On 26/08/2021 12:14, Moustafa Nofal wrote:
>     >> Hello, 
>     >> I am trying to use FreeRTOS on Raspberry Pi 4 5.3 kernel and
>     jailhouse
>     >> forked from:
>     >> https://github.com/siemens/jailhouse.git
>     <https://github.com/siemens/jailhouse.git>
>     >>
>     >> Fork Link:
>     >> https://github.com/mustafa13e09940/jailhouse.git
>     <https://github.com/mustafa13e09940/jailhouse.git>
>     >>
>     >> I edited string.h and added FreeRTOS source code to
>     inmates/lib/include 
>     >> The problem that I have now is compiling, I got these errors
>     >>
>     >> I tried previously to make my own scheduler on assembly, but I
>     though
>     >> FreeRTOS would be more feasible. 
>     >>
>     >> I am not sure what modification, that I require to enable Free
>     RTOS on a
>     >> jailhouse cell.
>     >>
>     >>  CC     
>     >>
>     /home/pi/repo_jailhouse/jailhouse/inmates/demos/arm64/../arm/gic-demo.o
>     >> /tmp/ccm8j1fg.s: Assembler messages:
>     >> /tmp/ccm8j1fg.s:987: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:1112: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:1315: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:1486: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:1663: Error: unknown mnemonic `stmdb' -- `stmdb
>     SP!,{R0}'
>     >> /tmp/ccm8j1fg.s:1664: Error: operand 1 must be an integer
>     register --
>     >> `mrs R0,CPSR'
>     >> /tmp/ccm8j1fg.s:1665: Error: operand 1 must be a SIMD vector
>     register --
>     >> `orr R0,R0,#0xC0'
>     >> /tmp/ccm8j1fg.s:1666: Error: unknown or missing system register
>     name at
>     >> operand 1 -- `msr CPSR,R0'
>     >> /tmp/ccm8j1fg.s:1667: Error: unknown mnemonic `ldmia' -- `ldmia
>     SP!,{R0}'
>     >> /tmp/ccm8j1fg.s:2161: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:2241: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:2308: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:2352: Error: unknown mnemonic `swi' -- `swi 0'
>     >> /tmp/ccm8j1fg.s:2693: Error: unknown mnemonic `swi' -- `swi 0'
>     >> make[4]: *** [scripts/Makefile.build:281:
>     >>
>     /home/pi/repo_jailhouse/jailhouse/inmates/demos/arm64/../arm/gic-demo.o]
> 
>     >> Error 1
>     >> make[3]: *** [scripts/Makefile.build:497:
>     >> /home/pi/repo_jailhouse/jailhouse/inmates/demos/arm64] Error 2
>     >> make[2]: *** [scripts/Makefile.build:497:
>     >> /home/pi/repo_jailhouse/jailhouse/inmates] Error 2
>     >> make[1]: *** [Makefile:1629:
>     _module_/home/pi/repo_jailhouse/jailhouse]
>     >> Error 2
>     >> make: *** [Makefile:40: modules] Error 2
>     >
>     > This is where you took the source from, right?
>     > https://github.com/jameswalmsley/RaspberryPi-FreeRTOS
>     <https://github.com/jameswalmsley/RaspberryPi-FreeRTOS>
>     >
>     > This is a 32-bit port of FreeRTOS, but Jailhouse uses the 64-bit
>     ARMv8
>     > on the RPi4.
>     >
>     > I don't know if it's possible to switch back to 32-bit mode is
>     possible,
>     > I guess Jan knows.
>     >
> 
>     Yes, set JAILHOUSE_CELL_AARCH32 in the cell configs' flags field.
> 
>     Jan
> 
>     -- 
>     Siemens AG, T RDA IOT
>     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]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jailhouse-dev/69e5e06f-3483-45b8-819b-3e7f54653138n%40googlegroups.com
> <https://groups.google.com/d/msgid/jailhouse-dev/69e5e06f-3483-45b8-819b-3e7f54653138n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
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/6ec1fe77-5054-1d2b-debb-dabda5ed76c2%40oth-regensburg.de.

Reply via email to