build zephyr OS in ASIC without user mode


Jinnan Li A <jinnan.a.li@...>
 

Hi Zephyr experts,

 

We are planning to use Zephyr OS in our project, but our ASIC doesn’t support User mode, only has machine mode.

 

  • What you want to do

Could you kindly tell me if there has any approaches to use Zephyr without User mode? Thank you.

Zephyr has great code structure and style,  and good subsys, such as shell/log/trace/…  our next generation ASIC will support User mode, it should be perfect to use this OS>

 

  • What you tried (commands you typed, etc.)
    • Try to use CONFIG_MULTITHREADING = n and other CONFIG_, but it only remove multithreading, also has user mode involved.
    • Also try to modify the kernel code, such as init.c, it makes code working, but changed a lot of code, seems very stupid.
  • What happened (output of each command, etc.)

Even we followed the porting flow for cpu, soc, board, and changed dts, link ld file, driver, … but it doesn’t work elegantly.

 

BR//Jinnan


Bolivar, Marti
 

Hi,

 

Userspace is optional and disabled by default. There is likely to be a problem with your port.

 

From: users@... <users@...> on behalf of Jinnan Li A via lists.zephyrproject.org <jinnan.a.li=ericsson.com@...>
Date: Tuesday, October 11, 2022 at 3:19 PM
To: users@... <users@...>
Subject: [Zephyr-users] build zephyr OS in ASIC without user mode

Hi Zephyr experts,

 

We are planning to use Zephyr OS in our project, but our ASIC doesn’t support User mode, only has machine mode.

 

  • What you want to do

Could you kindly tell me if there has any approaches to use Zephyr without User mode? Thank you.

Zephyr has great code structure and style,  and good subsys, such as shell/log/trace/…  our next generation ASIC will support User mode, it should be perfect to use this OS>

 

  • What you tried (commands you typed, etc.)
    • Try to use CONFIG_MULTITHREADING = n and other CONFIG_, but it only remove multithreading, also has user mode involved.
    • Also try to modify the kernel code, such as init.c, it makes code working, but changed a lot of code, seems very stupid.
  • What happened (output of each command, etc.)

Even we followed the porting flow for cpu, soc, board, and changed dts, link ld file, driver, … but it doesn’t work elegantly.

 

BR//Jinnan


Jinnan Li A <jinnan.a.li@...>
 

Thanks a lot for your reminding. I will check this and give the feedback.

 

BR//Jinnan

From: Bolivar, Marti <Marti.Bolivar@...>
Sent: Friday, October 14, 2022 4:05 PM
To: Jinnan Li A <jinnan.a.li@...>; users@...
Subject: Re: build zephyr OS in ASIC without user mode

 

Hi,

 

Userspace is optional and disabled by default. There is likely to be a problem with your port.

 

From: users@... <users@...> on behalf of Jinnan Li A via lists.zephyrproject.org <jinnan.a.li=ericsson.com@...>
Date: Tuesday, October 11, 2022 at 3:19 PM
To: users@... <users@...>
Subject: [Zephyr-users] build zephyr OS in ASIC without user mode

Hi Zephyr experts,

 

We are planning to use Zephyr OS in our project, but our ASIC doesn’t support User mode, only has machine mode.

 

  • What you want to do

Could you kindly tell me if there has any approaches to use Zephyr without User mode? Thank you.

Zephyr has great code structure and style,  and good subsys, such as shell/log/trace/…  our next generation ASIC will support User mode, it should be perfect to use this OS>

 

  • What you tried (commands you typed, etc.)
    • Try to use CONFIG_MULTITHREADING = n and other CONFIG_, but it only remove multithreading, also has user mode involved.
    • Also try to modify the kernel code, such as init.c, it makes code working, but changed a lot of code, seems very stupid.
  • What happened (output of each command, etc.)

Even we followed the porting flow for cpu, soc, board, and changed dts, link ld file, driver, … but it doesn’t work elegantly.

 

BR//Jinnan