Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Guenter Roeck

On 09/08/2014 05:58 PM, Xuetao Guan  wrote:


- Guenter Roeck  写道:

On 09/08/2014 05:57 AM, Xuetao Guan  wrote:

Whatever is more recent. Guess you'll have to either update the toolchain
or the kernel. If the plan is to update the kernel, can you send me a patch
to do that so I can test it ?

Thanks,
Guenter


I'll update unicore kernel at first, and cc patches to you.


Ok.

Thanks,
Guenter


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Xuetao Guan

- Guenter Roeck  写道:
> On 09/08/2014 05:57 AM, Xuetao Guan  wrote:
> 
> Whatever is more recent. Guess you'll have to either update the toolchain
> or the kernel. If the plan is to update the kernel, can you send me a patch
> to do that so I can test it ?
> 
> Thanks,
> Guenter
> 
I'll update unicore kernel at first, and cc patches to you.

Thanks.
Xuetao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Guenter Roeck

On 09/08/2014 05:57 AM, Xuetao Guan  wrote:


- Guenter Roeck  写道:

On 09/04/2014 11:13 PM, Xuetao Guan  wrote:
Hi,

I made everything I have available at 
http://server.roeck-us.net/qemu/unicore32/.
I tried multiple variants for creating the root file system, including the one
on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
the link above. No difference - I always see the same crash. Note that the
'init' program is loading, but crashes with above error (0x000b is SIGSEGV
unless I am missing something).

Note that I used the latest qemu for unicore from upstream sources; I was unable
to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not seem
to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.

Hope this helps,
Guenter


I guess you used the newest kernel to run busybox.
However, as for unicore32, the newest kernel uses different ABI with uc4-1.0.5 
toolchain.
I'm sorry to make it so confusing.
I'll update and submit another-ABI patches asap.



Whatever is more recent. Guess you'll have to either update the toolchain
or the kernel. If the plan is to update the kernel, can you send me a patch
to do that so I can test it ?

Thanks,
Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Xuetao Guan

- Guenter Roeck  写道:
> On 09/04/2014 11:13 PM, Xuetao Guan  wrote:
> Hi,
> 
> I made everything I have available at 
> http://server.roeck-us.net/qemu/unicore32/.
> I tried multiple variants for creating the root file system, including the one
> on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
> the link above. No difference - I always see the same crash. Note that the
> 'init' program is loading, but crashes with above error (0x000b is SIGSEGV
> unless I am missing something).
> 
> Note that I used the latest qemu for unicore from upstream sources; I was 
> unable
> to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not 
> seem
> to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.
> 
> Hope this helps,
> Guenter
> 
I guess you used the newest kernel to run busybox.
However, as for unicore32, the newest kernel uses different ABI with uc4-1.0.5 
toolchain.
I'm sorry to make it so confusing.
I'll update and submit another-ABI patches asap.

Thanks,
Xutao



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Xuetao Guan

- Guenter Roeck li...@roeck-us.net 写道:
 On 09/04/2014 11:13 PM, Xuetao Guan  wrote:
 Hi,
 
 I made everything I have available at 
 http://server.roeck-us.net/qemu/unicore32/.
 I tried multiple variants for creating the root file system, including the one
 on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
 the link above. No difference - I always see the same crash. Note that the
 'init' program is loading, but crashes with above error (0x000b is SIGSEGV
 unless I am missing something).
 
 Note that I used the latest qemu for unicore from upstream sources; I was 
 unable
 to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not 
 seem
 to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.
 
 Hope this helps,
 Guenter
 
I guess you used the newest kernel to run busybox.
However, as for unicore32, the newest kernel uses different ABI with uc4-1.0.5 
toolchain.
I'm sorry to make it so confusing.
I'll update and submit another-ABI patches asap.

Thanks,
Xutao



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Guenter Roeck

On 09/08/2014 05:57 AM, Xuetao Guan  wrote:


- Guenter Roeck li...@roeck-us.net 写道:

On 09/04/2014 11:13 PM, Xuetao Guan  wrote:
Hi,

I made everything I have available at 
http://server.roeck-us.net/qemu/unicore32/.
I tried multiple variants for creating the root file system, including the one
on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
the link above. No difference - I always see the same crash. Note that the
'init' program is loading, but crashes with above error (0x000b is SIGSEGV
unless I am missing something).

Note that I used the latest qemu for unicore from upstream sources; I was unable
to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not seem
to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.

Hope this helps,
Guenter


I guess you used the newest kernel to run busybox.
However, as for unicore32, the newest kernel uses different ABI with uc4-1.0.5 
toolchain.
I'm sorry to make it so confusing.
I'll update and submit another-ABI patches asap.



Whatever is more recent. Guess you'll have to either update the toolchain
or the kernel. If the plan is to update the kernel, can you send me a patch
to do that so I can test it ?

Thanks,
Guenter

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Xuetao Guan

- Guenter Roeck li...@roeck-us.net 写道:
 On 09/08/2014 05:57 AM, Xuetao Guan  wrote:
 
 Whatever is more recent. Guess you'll have to either update the toolchain
 or the kernel. If the plan is to update the kernel, can you send me a patch
 to do that so I can test it ?
 
 Thanks,
 Guenter
 
I'll update unicore kernel at first, and cc patches to you.

Thanks.
Xuetao
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-08 Thread Guenter Roeck

On 09/08/2014 05:58 PM, Xuetao Guan  wrote:


- Guenter Roeck li...@roeck-us.net 写道:

On 09/08/2014 05:57 AM, Xuetao Guan  wrote:

Whatever is more recent. Guess you'll have to either update the toolchain
or the kernel. If the plan is to update the kernel, can you send me a patch
to do that so I can test it ?

Thanks,
Guenter


I'll update unicore kernel at first, and cc patches to you.


Ok.

Thanks,
Guenter


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-06 Thread Guenter Roeck

On 09/04/2014 11:13 PM, Xuetao Guan  wrote:


- Guenter Roeck  写道:

On 09/03/2014 01:32 AM, Xuetao Guan  wrote:



[ ... ]


Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter


Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.



Here is where I am. User space code (busybox) was compiled
using the unicore toolchain available on the web.

...
serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
mousedev: PS/2 mouse device common for all mice
Enable UniCore-F64 support.
Warning: unable to open an initial console.
Freeing unused kernel memory: 1156K (c0408000 - c0529000)

Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

The kernel tries to execute the init program, which fails with SIGSEGV.
I confirmed that the init program is loaded and starts to execute.

Any idea what might cause such a problem ?

Thanks,
Guenter


'slink /init /bin/busybox 777 0 0' should be inserted in initramfs 
config
Also, I recommend compile busybox statically for initramfs.

I need more information, including full kmsg and initramfs configs



Hi,

I made everything I have available at 
http://server.roeck-us.net/qemu/unicore32/.
I tried multiple variants for creating the root file system, including the one
on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
the link above. No difference - I always see the same crash. Note that the
'init' program is loading, but crashes with above error (0x000b is SIGSEGV
unless I am missing something).

Note that I used the latest qemu for unicore from upstream sources; I was unable
to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not seem
to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.

Hope this helps,
Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-06 Thread Guenter Roeck

On 09/04/2014 11:13 PM, Xuetao Guan  wrote:


- Guenter Roeck li...@roeck-us.net 写道:

On 09/03/2014 01:32 AM, Xuetao Guan  wrote:



[ ... ]


Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter


Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.



Here is where I am. User space code (busybox) was compiled
using the unicore toolchain available on the web.

...
serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
mousedev: PS/2 mouse device common for all mice
Enable UniCore-F64 support.
Warning: unable to open an initial console.
Freeing unused kernel memory: 1156K (c0408000 - c0529000)

Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

The kernel tries to execute the init program, which fails with SIGSEGV.
I confirmed that the init program is loaded and starts to execute.

Any idea what might cause such a problem ?

Thanks,
Guenter


'slink /init /bin/busybox 777 0 0' should be inserted in initramfs 
config
Also, I recommend compile busybox statically for initramfs.

I need more information, including full kmsg and initramfs configs



Hi,

I made everything I have available at 
http://server.roeck-us.net/qemu/unicore32/.
I tried multiple variants for creating the root file system, including the one
on https://github.com/gxt/UniCore32.git and the one using mkrootfs.sh in
the link above. No difference - I always see the same crash. Note that the
'init' program is loading, but crashes with above error (0x000b is SIGSEGV
unless I am missing something).

Note that I used the latest qemu for unicore from upstream sources; I was unable
to compile it from g...@github.com:gxt/QEMU.git. Qemu configuration did not seem
to make a difference. The toolchain was extracted from uc4-1.0.5-hard.tgz.

Hope this helps,
Guenter

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-05 Thread Guenter Roeck

On 09/03/2014 01:32 AM, Xuetao Guan  wrote:



[ ... ]


Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter


Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.



Here is where I am. User space code (busybox) was compiled
using the unicore toolchain available on the web.

...
serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
mousedev: PS/2 mouse device common for all mice
Enable UniCore-F64 support.
Warning: unable to open an initial console.
Freeing unused kernel memory: 1156K (c0408000 - c0529000)

Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

The kernel tries to execute the init program, which fails with SIGSEGV.
I confirmed that the init program is loaded and starts to execute.

Any idea what might cause such a problem ?

Thanks,
Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-05 Thread Xuetao Guan

- Guenter Roeck  写道:
> On 09/03/2014 01:32 AM, Xuetao Guan  wrote:
> >
> [ ... ]
> 
> >> Please try the following patch. That seems to do it.
> >> I am sure it can be improved, but it is a start.
> >>
> >> Thanks,
> >> Guenter
> >
> > Thanks. I'll test it.
> > BTW, Qemu codestyle is different, and tab should be replaced with blanks.
> >
> 
> Here is where I am. User space code (busybox) was compiled
> using the unicore toolchain available on the web.
> 
> ...
> serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
> mousedev: PS/2 mouse device common for all mice
> Enable UniCore-F64 support.
> Warning: unable to open an initial console.
> Freeing unused kernel memory: 1156K (c0408000 - c0529000)
> 
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b
> 
> ---[ end Kernel panic - not syncing: Attempted to kill init! 
> exitcode=0x000b
> 
> The kernel tries to execute the init program, which fails with SIGSEGV.
> I confirmed that the init program is loaded and starts to execute.
> 
> Any idea what might cause such a problem ?
> 
> Thanks,
> Guenter
> 
'slink /init /bin/busybox 777 0 0' should be inserted in initramfs 
config
Also, I recommend compile busybox statically for initramfs.

I need more information, including full kmsg and initramfs configs

My qemu commands as following. Maybe useful.

qemu-new:
@test -d $(DIR_WORKING)/qemu-unicore32 ||   \
mkdir -p $(DIR_WORKING)/qemu-unicore32
@echo "Remove old qemu repo ..."
@rm -fr $(DIR_WORKING)/qemu
@cd $(DIR_WORKING); git clone $(QEMU_GITREPO)
@cd $(DIR_WORKING)/qemu;\
git br unicore32 origin/unicore32;  \
git co unicore32

qemu-make:
@echo "Configure qemu ..."
@cd $(DIR_WORKING)/qemu; ./configure\
--enable-trace-backend=stderr   \
--target-list=$(QEMU_TARGETS)   \
--enable-debug  \
--disable-sdl   \
--interp-prefix=$(DIR_GNU_UC)   \
--prefix=$(DIR_WORKING)/qemu-unicore32  \
>> $(QEMU_BUILDLOG) 2>&1
@echo "Make qemu and make install ..."
@make -C $(DIR_WORKING)/qemu -j4 >> $(QEMU_BUILDLOG) 2>&1
@make -C $(DIR_WORKING)/qemu install >> $(QEMU_BUILDLOG) 2>&1

qemu-run:
@echo "Remove old log file"
@rm -fr $(QEMU_TRACELOG)
@echo "Running QEMU in this tty ..."
@$(DIR_WORKING)/qemu-unicore32/bin/qemu-system-unicore32\
-curses \
-M puv3 \
-m 512  \
-icount 0   \
-kernel $(DIR_WORKING)/zImage   \
-net nic\
-net tap,ifname=tap_$(USER),script=no,downscript=no \
-append "root=/dev/nfs 
nfsroot=192.168.200.161:/export/guestroot/,tcp rw ip=192.168.122.4"\
2> $(QEMU_TRACELOG)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-05 Thread Xuetao Guan

- Guenter Roeck li...@roeck-us.net 写道:
 On 09/03/2014 01:32 AM, Xuetao Guan  wrote:
 
 [ ... ]
 
  Please try the following patch. That seems to do it.
  I am sure it can be improved, but it is a start.
 
  Thanks,
  Guenter
 
  Thanks. I'll test it.
  BTW, Qemu codestyle is different, and tab should be replaced with blanks.
 
 
 Here is where I am. User space code (busybox) was compiled
 using the unicore toolchain available on the web.
 
 ...
 serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
 mousedev: PS/2 mouse device common for all mice
 Enable UniCore-F64 support.
 Warning: unable to open an initial console.
 Freeing unused kernel memory: 1156K (c0408000 - c0529000)
 
 Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b
 
 ---[ end Kernel panic - not syncing: Attempted to kill init! 
 exitcode=0x000b
 
 The kernel tries to execute the init program, which fails with SIGSEGV.
 I confirmed that the init program is loaded and starts to execute.
 
 Any idea what might cause such a problem ?
 
 Thanks,
 Guenter
 
'slink /init /bin/busybox 777 0 0' should be inserted in initramfs 
config
Also, I recommend compile busybox statically for initramfs.

I need more information, including full kmsg and initramfs configs

My qemu commands as following. Maybe useful.

qemu-new:
@test -d $(DIR_WORKING)/qemu-unicore32 ||   \
mkdir -p $(DIR_WORKING)/qemu-unicore32
@echo Remove old qemu repo ...
@rm -fr $(DIR_WORKING)/qemu
@cd $(DIR_WORKING); git clone $(QEMU_GITREPO)
@cd $(DIR_WORKING)/qemu;\
git br unicore32 origin/unicore32;  \
git co unicore32

qemu-make:
@echo Configure qemu ...
@cd $(DIR_WORKING)/qemu; ./configure\
--enable-trace-backend=stderr   \
--target-list=$(QEMU_TARGETS)   \
--enable-debug  \
--disable-sdl   \
--interp-prefix=$(DIR_GNU_UC)   \
--prefix=$(DIR_WORKING)/qemu-unicore32  \
 $(QEMU_BUILDLOG) 21
@echo Make qemu and make install ...
@make -C $(DIR_WORKING)/qemu -j4  $(QEMU_BUILDLOG) 21
@make -C $(DIR_WORKING)/qemu install  $(QEMU_BUILDLOG) 21

qemu-run:
@echo Remove old log file
@rm -fr $(QEMU_TRACELOG)
@echo Running QEMU in this tty ...
@$(DIR_WORKING)/qemu-unicore32/bin/qemu-system-unicore32\
-curses \
-M puv3 \
-m 512  \
-icount 0   \
-kernel $(DIR_WORKING)/zImage   \
-net nic\
-net tap,ifname=tap_$(USER),script=no,downscript=no \
-append root=/dev/nfs 
nfsroot=192.168.200.161:/export/guestroot/,tcp rw ip=192.168.122.4\
2 $(QEMU_TRACELOG)

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-05 Thread Guenter Roeck

On 09/03/2014 01:32 AM, Xuetao Guan  wrote:



[ ... ]


Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter


Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.



Here is where I am. User space code (busybox) was compiled
using the unicore toolchain available on the web.

...
serio: i8042 KBD port at 0x6eb00060,0x6eb00064 irq 22
mousedev: PS/2 mouse device common for all mice
Enable UniCore-F64 support.
Warning: unable to open an initial console.
Freeing unused kernel memory: 1156K (c0408000 - c0529000)

Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b

The kernel tries to execute the init program, which fails with SIGSEGV.
I confirmed that the init program is loaded and starts to execute.

Any idea what might cause such a problem ?

Thanks,
Guenter

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-03 Thread Xuetao Guan

- Guenter Roeck  写道:
> On Wed, Sep 03, 2014 at 08:09:28AM +0800, Xuetao Guan  wrote:
> > 
> > [...]
> > > > 
> > > > > 
> > > > > 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.
> > > > 
> > > > Do you mean there's the same/similar code in QEMU.
> > > > 
> > > No, I mean that the ocd functions in the linux kernel (such as ocd_putc) 
> > > are
> > > used by both earlyprintk and the ocd console code.
> > Yes. By the way, it's only for qemu and fpga debug.
> > 
> > > 
> > > > > 
> > > > > 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
> > > > Yes, since qemu curses code was modified to meet the simple OCD console 
> > > > requirement.
> > > > 
> > > The lack of support for -nographic is a problem for scripted testing.
> > > The issue is that we have to interpret console output for scripted 
> > > testing,
> > > and having to go through curses makes that a bit difficult.
> > > 
> > > Wonder if '-nographic' can be modeled as '-curses' with no available 
> > > terminal
> > > configuration. At least in theory that should work, but executing the 
> > > above
> > > command with TERM=dumb yields no output. Wonder how difficult it would be 
> > > to
> > > change that.
> > 
> > I see. I'll try to make -nographic work anyway.
> > 
> Please try the following patch. That seems to do it.
> I am sure it can be improved, but it is a start.
> 
> Thanks,
> Guenter

Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.

Xuetao

> 
> ---
> From a7c89177b3c00e4c16bea25a0b4b2f9dc511e07b Mon Sep 17 00:00:00 2001
> From: Guenter Roeck 
> Date: Tue, 2 Sep 2014 20:55:02 -0700
> Subject: [PATCH] qemu: unicore32: Add support for non-curses display
> 
> Add basic support for DT_NONE and DT_NOGRAPHIC display types.
> 
> Signed-off-by: Guenter Roeck 
> ---
>  target-unicore32/helper.c | 14 +-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c
> index e5ebbf4..dda3772 100644
> --- a/target-unicore32/helper.c
> +++ b/target-unicore32/helper.c
> @@ -13,6 +13,7 @@
>  #include "exec/gdbstub.h"
>  #include "exec/helper-proto.h"
>  #include "qemu/host-utils.h"
> +#include "sysemu/sysemu.h"
>  #ifndef CONFIG_USER_ONLY
>  #include "ui/console.h"
>  #endif
> @@ -223,7 +224,18 @@ static void putc_on_screen(unsigned char ch)
>  
>  void helper_cp1_putc(target_ulong x)
>  {
> -putc_on_screen((unsigned char)x);   /* Output to screen */
> +switch(display_type) {
> +case DT_CURSES:
> + putc_on_screen((unsigned char)x);   /* Output to screen */
> + break;
> +case DT_NOGRAPHIC:
> +case DT_NONE:
> + putchar((int)x);
> + break;
> +default:
> + break;
> +}
> +
>  DPRINTF("%c", x);   /* Output to stdout */
>  }
>  #endif
> -- 
> 1.9.1
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-03 Thread Xuetao Guan

- Guenter Roeck li...@roeck-us.net 写道:
 On Wed, Sep 03, 2014 at 08:09:28AM +0800, Xuetao Guan  wrote:
  
  [...]

 
 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.

Do you mean there's the same/similar code in QEMU.

   No, I mean that the ocd functions in the linux kernel (such as ocd_putc) 
   are
   used by both earlyprintk and the ocd console code.
  Yes. By the way, it's only for qemu and fpga debug.
  
   
 
 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
Yes, since qemu curses code was modified to meet the simple OCD console 
requirement.

   The lack of support for -nographic is a problem for scripted testing.
   The issue is that we have to interpret console output for scripted 
   testing,
   and having to go through curses makes that a bit difficult.
   
   Wonder if '-nographic' can be modeled as '-curses' with no available 
   terminal
   configuration. At least in theory that should work, but executing the 
   above
   command with TERM=dumb yields no output. Wonder how difficult it would be 
   to
   change that.
  
  I see. I'll try to make -nographic work anyway.
  
 Please try the following patch. That seems to do it.
 I am sure it can be improved, but it is a start.
 
 Thanks,
 Guenter

Thanks. I'll test it.
BTW, Qemu codestyle is different, and tab should be replaced with blanks.

Xuetao

 
 ---
 From a7c89177b3c00e4c16bea25a0b4b2f9dc511e07b Mon Sep 17 00:00:00 2001
 From: Guenter Roeck li...@roeck-us.net
 Date: Tue, 2 Sep 2014 20:55:02 -0700
 Subject: [PATCH] qemu: unicore32: Add support for non-curses display
 
 Add basic support for DT_NONE and DT_NOGRAPHIC display types.
 
 Signed-off-by: Guenter Roeck li...@roeck-us.net
 ---
  target-unicore32/helper.c | 14 +-
  1 file changed, 13 insertions(+), 1 deletion(-)
 
 diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c
 index e5ebbf4..dda3772 100644
 --- a/target-unicore32/helper.c
 +++ b/target-unicore32/helper.c
 @@ -13,6 +13,7 @@
  #include exec/gdbstub.h
  #include exec/helper-proto.h
  #include qemu/host-utils.h
 +#include sysemu/sysemu.h
  #ifndef CONFIG_USER_ONLY
  #include ui/console.h
  #endif
 @@ -223,7 +224,18 @@ static void putc_on_screen(unsigned char ch)
  
  void helper_cp1_putc(target_ulong x)
  {
 -putc_on_screen((unsigned char)x);   /* Output to screen */
 +switch(display_type) {
 +case DT_CURSES:
 + putc_on_screen((unsigned char)x);   /* Output to screen */
 + break;
 +case DT_NOGRAPHIC:
 +case DT_NONE:
 + putchar((int)x);
 + break;
 +default:
 + break;
 +}
 +
  DPRINTF(%c, x);   /* Output to stdout */
  }
  #endif
 -- 
 1.9.1
 

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Guenter Roeck
On Wed, Sep 03, 2014 at 08:09:28AM +0800, Xuetao Guan  wrote:
> 
> [...]
> > > 
> > > > 
> > > > 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.
> > > 
> > > Do you mean there's the same/similar code in QEMU.
> > > 
> > No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
> > used by both earlyprintk and the ocd console code.
> Yes. By the way, it's only for qemu and fpga debug.
> 
> > 
> > > > 
> > > > 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
> > > Yes, since qemu curses code was modified to meet the simple OCD console 
> > > requirement.
> > > 
> > The lack of support for -nographic is a problem for scripted testing.
> > The issue is that we have to interpret console output for scripted testing,
> > and having to go through curses makes that a bit difficult.
> > 
> > Wonder if '-nographic' can be modeled as '-curses' with no available 
> > terminal
> > configuration. At least in theory that should work, but executing the above
> > command with TERM=dumb yields no output. Wonder how difficult it would be to
> > change that.
> 
> I see. I'll try to make -nographic work anyway.
> 
Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter

---
>From a7c89177b3c00e4c16bea25a0b4b2f9dc511e07b Mon Sep 17 00:00:00 2001
From: Guenter Roeck 
Date: Tue, 2 Sep 2014 20:55:02 -0700
Subject: [PATCH] qemu: unicore32: Add support for non-curses display

Add basic support for DT_NONE and DT_NOGRAPHIC display types.

Signed-off-by: Guenter Roeck 
---
 target-unicore32/helper.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c
index e5ebbf4..dda3772 100644
--- a/target-unicore32/helper.c
+++ b/target-unicore32/helper.c
@@ -13,6 +13,7 @@
 #include "exec/gdbstub.h"
 #include "exec/helper-proto.h"
 #include "qemu/host-utils.h"
+#include "sysemu/sysemu.h"
 #ifndef CONFIG_USER_ONLY
 #include "ui/console.h"
 #endif
@@ -223,7 +224,18 @@ static void putc_on_screen(unsigned char ch)
 
 void helper_cp1_putc(target_ulong x)
 {
-putc_on_screen((unsigned char)x);   /* Output to screen */
+switch(display_type) {
+case DT_CURSES:
+   putc_on_screen((unsigned char)x);   /* Output to screen */
+   break;
+case DT_NOGRAPHIC:
+case DT_NONE:
+   putchar((int)x);
+   break;
+default:
+   break;
+}
+
 DPRINTF("%c", x);   /* Output to stdout */
 }
 #endif
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Guenter Roeck

On 09/02/2014 05:09 PM, Xuetao Guan  wrote:


[...]




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.


Do you mean there's the same/similar code in QEMU.


No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
used by both earlyprintk and the ocd console code.

Yes. By the way, it's only for qemu and fpga debug.





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

Yes, since qemu curses code was modified to meet the simple OCD console 
requirement.


The lack of support for -nographic is a problem for scripted testing.
The issue is that we have to interpret console output for scripted testing,
and having to go through curses makes that a bit difficult.

Wonder if '-nographic' can be modeled as '-curses' with no available terminal
configuration. At least in theory that should work, but executing the above
command with TERM=dumb yields no output. Wonder how difficult it would be to
change that.


I see. I'll try to make -nographic work anyway.


Another possibility would be to support "-display none". Unfortunately that also
causes qemu to crash :-(.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Xuetao Guan

[...]
> > 
> > > 
> > > 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.
> > 
> > Do you mean there's the same/similar code in QEMU.
> > 
> No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
> used by both earlyprintk and the ocd console code.
Yes. By the way, it's only for qemu and fpga debug.

> 
> > > 
> > > 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
> > Yes, since qemu curses code was modified to meet the simple OCD console 
> > requirement.
> > 
> The lack of support for -nographic is a problem for scripted testing.
> The issue is that we have to interpret console output for scripted testing,
> and having to go through curses makes that a bit difficult.
> 
> Wonder if '-nographic' can be modeled as '-curses' with no available terminal
> configuration. At least in theory that should work, but executing the above
> command with TERM=dumb yields no output. Wonder how difficult it would be to
> change that.

I see. I'll try to make -nographic work anyway.

> 
> > > - The qemu emulation only accepts a built-in initramfs.
> > Yes, github version only support built-in initramfs.
> > NFS+LFS could be also supported, and puv3-pci sim should be added at first.
> > 
> > > - 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.
> > Sorry for that. That should be fixed.
> > 
> > > - 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.
> > Yes, exactly.
> 
> Too bad. Not exactly necessary for our current scope of testing, but it would 
> be
> nice to be able to test networking.
I'll review and submit networking code again. Or, maybe pci-nic function, to 
support qemu as well. 

> 
> > Thanks Guenter.
> > 
> You are welcome. Thanks for the feedback.
> 
> Guenter

Thanks.

Xuetao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Xuetao Guan

[...]
  
   
   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.
  
  Do you mean there's the same/similar code in QEMU.
  
 No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
 used by both earlyprintk and the ocd console code.
Yes. By the way, it's only for qemu and fpga debug.

 
   
   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
  Yes, since qemu curses code was modified to meet the simple OCD console 
  requirement.
  
 The lack of support for -nographic is a problem for scripted testing.
 The issue is that we have to interpret console output for scripted testing,
 and having to go through curses makes that a bit difficult.
 
 Wonder if '-nographic' can be modeled as '-curses' with no available terminal
 configuration. At least in theory that should work, but executing the above
 command with TERM=dumb yields no output. Wonder how difficult it would be to
 change that.

I see. I'll try to make -nographic work anyway.

 
   - The qemu emulation only accepts a built-in initramfs.
  Yes, github version only support built-in initramfs.
  NFS+LFS could be also supported, and puv3-pci sim should be added at first.
  
   - 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.
  Sorry for that. That should be fixed.
  
   - 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.
  Yes, exactly.
 
 Too bad. Not exactly necessary for our current scope of testing, but it would 
 be
 nice to be able to test networking.
I'll review and submit networking code again. Or, maybe pci-nic function, to 
support qemu as well. 

 
  Thanks Guenter.
  
 You are welcome. Thanks for the feedback.
 
 Guenter

Thanks.

Xuetao
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Guenter Roeck

On 09/02/2014 05:09 PM, Xuetao Guan  wrote:


[...]




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.


Do you mean there's the same/similar code in QEMU.


No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
used by both earlyprintk and the ocd console code.

Yes. By the way, it's only for qemu and fpga debug.





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

Yes, since qemu curses code was modified to meet the simple OCD console 
requirement.


The lack of support for -nographic is a problem for scripted testing.
The issue is that we have to interpret console output for scripted testing,
and having to go through curses makes that a bit difficult.

Wonder if '-nographic' can be modeled as '-curses' with no available terminal
configuration. At least in theory that should work, but executing the above
command with TERM=dumb yields no output. Wonder how difficult it would be to
change that.


I see. I'll try to make -nographic work anyway.


Another possibility would be to support -display none. Unfortunately that also
causes qemu to crash :-(.

Guenter

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel

2014-09-02 Thread Guenter Roeck
On Wed, Sep 03, 2014 at 08:09:28AM +0800, Xuetao Guan  wrote:
 
 [...]
   

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.
   
   Do you mean there's the same/similar code in QEMU.
   
  No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
  used by both earlyprintk and the ocd console code.
 Yes. By the way, it's only for qemu and fpga debug.
 
  

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
   Yes, since qemu curses code was modified to meet the simple OCD console 
   requirement.
   
  The lack of support for -nographic is a problem for scripted testing.
  The issue is that we have to interpret console output for scripted testing,
  and having to go through curses makes that a bit difficult.
  
  Wonder if '-nographic' can be modeled as '-curses' with no available 
  terminal
  configuration. At least in theory that should work, but executing the above
  command with TERM=dumb yields no output. Wonder how difficult it would be to
  change that.
 
 I see. I'll try to make -nographic work anyway.
 
Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.

Thanks,
Guenter

---
From a7c89177b3c00e4c16bea25a0b4b2f9dc511e07b Mon Sep 17 00:00:00 2001
From: Guenter Roeck li...@roeck-us.net
Date: Tue, 2 Sep 2014 20:55:02 -0700
Subject: [PATCH] qemu: unicore32: Add support for non-curses display

Add basic support for DT_NONE and DT_NOGRAPHIC display types.

Signed-off-by: Guenter Roeck li...@roeck-us.net
---
 target-unicore32/helper.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c
index e5ebbf4..dda3772 100644
--- a/target-unicore32/helper.c
+++ b/target-unicore32/helper.c
@@ -13,6 +13,7 @@
 #include exec/gdbstub.h
 #include exec/helper-proto.h
 #include qemu/host-utils.h
+#include sysemu/sysemu.h
 #ifndef CONFIG_USER_ONLY
 #include ui/console.h
 #endif
@@ -223,7 +224,18 @@ static void putc_on_screen(unsigned char ch)
 
 void helper_cp1_putc(target_ulong x)
 {
-putc_on_screen((unsigned char)x);   /* Output to screen */
+switch(display_type) {
+case DT_CURSES:
+   putc_on_screen((unsigned char)x);   /* Output to screen */
+   break;
+case DT_NOGRAPHIC:
+case DT_NONE:
+   putchar((int)x);
+   break;
+default:
+   break;
+}
+
 DPRINTF(%c, x);   /* Output to stdout */
 }
 #endif
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/