Re: kernel/src/arch/amd64/init32.cc

"Adrian Ratnapala" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
First of all, I'm cc'ing this back to the list, because I only sent this thread
into private mail by accident.  Since I think it might as well be on
the archives
I will give a summary of the thread so far:

>  I complained that Kickstart hangs on an AMD64 machine, oh and by the way
    the kernel doesn't compile unless I have the KDB options just so.

<  Jan explained to me that I was using the wrong qemu, I should use the amd64
    one (qemu-system-x86_64) :),  ohh and by the way could he have more
    information about my compiler,
    setup because his kernel compiles just fine.

< I told him that I was indeed using the wrong qemu, and using the right one
    will boot pingpoing, which hangs.  On the other hand I had a look at the
    kernel compilation issue, and could offer a fix/hack.

> Jan thanked me for the hack and asked if he could have some more information
    about my compiler setup please.  Also he suggested the pingpoing hanging
    thing could be worked around by switching off KDB breaking.

Now to the conversation itself.


On 29/11/06, Adrian Ratnapala <[email protected]> wrote:
> > kdebug_check_breakin() in kernel/kdb/platform/pc99/io.cc). I'm not too
> > familiar with serial IO logic, but my guess is that in qemu, characters
> > somehow disappear from the IO register after having been read by the
> > kernel. As a result, a polling user space application (pingpong) will
> > spin forever.
>

I thought that seemed right, bit it turns out I get the hang even without
kernel break in.  I will see what happens on real hardware when I get
the chance.

> > Thanks, I'll have a look on that. Could you tell me which compiler and
> > preprocessor you used? Was it a toolchain or a standard compiler? I
> > didn't have any problems compiling without the debugger or keyboard, but
> > I'll double-check that.

It is the system compiler, gcc 3.4.6 (& hence cpp accordingly).
Here is the output of of gcc -v
---------------------------------------------------
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/specs
Configured with:
/var/tmp/portage/gcc-3.4.6-r1/work/gcc-3.4.6/configure --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.6
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu
--disable-altivec --enable-nls --without-included-gettext
--with-system-zlib --disable-checking --disable-werror
--disable-libunwind-exceptions --enable-multilib --disable-libgcj
--enable-languages=c,c++,f77 --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)
----------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.