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: 回复: 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/