All of lore.kernel.org
 help / color / mirror / Atom feed
* Status of 'unicore32' architecture in Linux kernel
@ 2014-08-31 23:51 Guenter Roeck
  2014-09-01  4:00 ` Chen Gang
  2014-09-02 14:03 ` 回复: " Xuetao Guan 
  0 siblings, 2 replies; 15+ messages in thread
From: Guenter Roeck @ 2014-08-31 23:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: Guan Xuetao, Chen Gang, Grant Likely

Status of 'unicore32' architecture in Linux kernel
--------------------------------------------------

The idea was to create a working kernel and initramfs for the ongoing Linux
kernel test project. This summary describes the result of this effort.

Overall, conclusion is that the architecture would need some work
(both in qemu and the kernel itself) to make it testable with qemu.

Guenter

---------------------
Toolchain used was from [1]. I did not attempt to build my own toolchain.

Configuration:

make ARCH=unicore32 defconfig && make ARCH=unicore32

This configuration currently fails to build in the upstream kernel.
A patch to fix the problem has been submitted and is pending upstream
integration [2]. With this patch merged, the 'defconfig' image can
be built.

----------------
qemu

Attempts to load the unicore32:defconfig image with qemu failed.

Research points to [3], which includes a working unicore32 linux kernel
in its linux repository [4], in branch unicore32-working. This branch
includes a working unicore32 qemu configuration. It also includes
a critical patch which is not available in the upstream kernel.

unicore32: Add ocd console and qemu-defconfig to support qemu simulator
	This patch adds a primitive OCD console to communicate with qemu.
	The same code is already used for early console support.

With this patch added, and with qemu_defconfig as provided by the same patch,
it is possible to build and load a unicore32 image in qemu using the following
qemu command line.

qemu-system-unicore32 -curses -M puv3 -m 512 -kernel arch/unicore32/boot/zImage

Caveats:
- The use of -nographic instead of -curses causes a qemu crash
- The qemu emulation only accepts a built-in initramfs.
- The only working image is arch/unicore32/boot/zImage.
  All other variants, arch/unicore32/boot/Image and vmlinux, cause a crash.
  The same (or a similar) crash is also seen if I don't provide a built-in
  kernel command line and try to load zImage.
- There is no networking. There is another patch in the github linux
  respository [4] which is not available upstream. The driver was submitted
  for integration back in 2011 [5] but it was never accepted or merged.

------------------------
[1] http://mprc.pku.edu.cn/~guanxuetao/linux/
[2] https://lkml.org/lkml/2014/8/31/86
[3] https://github.com/gxt
[4] git://github.com/gxt/linux.git
[5] https://lkml.org/lkml/2011/5/27/17

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-09-09  2:06 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-31 23:51 Status of 'unicore32' architecture in Linux kernel Guenter Roeck
2014-09-01  4:00 ` Chen Gang
2014-09-02 14:03 ` 回复: " Xuetao Guan 
2014-09-02 15:58   ` Guenter Roeck
2014-09-03  0:09     ` 回复: " Xuetao Guan 
2014-09-03  1:52       ` Guenter Roeck
2014-09-03  3:58       ` Guenter Roeck
2014-09-03  8:32         ` 回复: " Xuetao Guan 
2014-09-05  5:52           ` Guenter Roeck
2014-09-05  6:13             ` 回复: " Xuetao Guan 
2014-09-06 17:25               ` Guenter Roeck
2014-09-08 12:57                 ` 回复: " Xuetao Guan 
2014-09-08 13:35                   ` Guenter Roeck
2014-09-09  0:58                     ` 回复: " Xuetao Guan 
2014-09-09  2:06                       ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.