Hello:
I downloaded the latest l4re-snapshot-2011062216. All the
compilation is ok. The hello demo could boot successfully. But when i
try to boot L4Linux with this command :
make qemu E=L4Linux-mag-x86
O=/home/cheng/TUDOS/Src/l4re-snapshot-2011062216/obj/l4/x86
There are some errors as following:
Allocate cpu_mem @ 0xfc54c000
Local APIC[00]: version=11 max_lvt=5
APIC ESR value before/after enabling: 00000000/00000000
Using the PIT (i8254) on IRQ 2 for scheduling
…
[View More]Absolute KIP Syscalls using: Sysenter
CPU[0:0]: GenuineIntel (6:3:3:0)[00000633] Model: Pentium II (Klamath)
at 2395 MHz
32 KB L1 I Cache (8-way associative, 64 bytes per line)
32 KB L1 D Cache (8-way associative, 64 bytes per line)
2048 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 28672 bytes (7 pages)
Calibrating timer loop... done.
SIGMA0: Hello!
KIP @ 400000
Found Fiasco: KIP syscalls: yes
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[0:1000;9efff]
[0:10b000;13ffff]
[4:140000;18bfff]
[0:18c000;2dcfff]
[4:2dd000;2ddfff]
[0:2de000;3fffff]
[0:465000;136cfff]
[4:136d000;166ffff]
[0:1670000;1614bfff]
IOMEM:----------------------
[0:0;fff]
[0:9f000;fffff]
[0:17ffd000;febfffff]
[0:fec01000;fedfffff]
[0:fee01000;ffffffff]
IO PORTS--------------------------
[0:0;fffffff]
MOE: Hello world
MOE: found 357544 KByte free memory
MOE: found RAM from 1000 to 1614c000
MOE: allocated 353 KByte for the page array @0x1000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:501000]
BOOTFS: [136d000-1470e6d] [C:503000] l4re
BOOTFS: [1471000-166e572] [C:504000] ned
BOOTFS: [166f000-166f578] [C:505000] l4lx-gfx.cfg
MOE: cmdline: /home/cheng/TUDOS/Src/l4re-snapshot-2011062216/obj/l4/x86/bin/x86_586/l4f/moe
rom/l4lx-gfx.cfg
MOE: Starting: rom/ned rom/l4lx-gfx.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/l4lx-gfx.cfg'
io | L4Re: FATAL: Exception No such object found: 'rom/io'
io | Exception: No such object found: rom/io: backtrace ...
fb-drv | L4Re: FATAL: Exception No such object found: 'rom/fb-drv'
fb-drv | Exception: No such object found: rom/fb-drv: backtrace ...
mag | L4Re: FATAL: Exception No such object found: 'rom/mag'
mag | Exception: No such object found: rom/mag: backtrace ...
Ned[lua]: Hm, cpapbility 430000 does not support the meta protocol: -2004
Ned: ERROR: rom/l4lx-gfx.cfg:54: attempt to call method 'create' (a nil value)
Do i miss something else?
Thanks a lot.
Warm regards.
Cheng Guanghui
[View Less]
Hello,
I want a thread to exit after it finishes its job. The function
pthread_exit seems not working. I still can see all threads I created
through kernel debugger.
Any idea?
Best,
Chen
Hi all
Is there a possibility to use Fiasco.OC and L4Re with L4Linux on Nokia N900 internet tablet/phone? Which
ARM platform it is compatible with, if so? -- It is based on ARM Cortex A8 600 MHz processor, 256 Mb RAM
and 784 Mb swap, Maemo (Debian GNU/Linux based) platform (see
http://www.gsmarena.com/nokia_n900-2917.php, for example).
Or, if not so, is it possible to use it with Genode or OKL4?
WBR,
valery
I have linked in this way (in /usr/bin):
ln -s g++-4.5 g++
ln -s cpp-4.5 cpp
ln -s gcc-4.5 gcc
(i have previously removed the links to gcc-45, g++-4.5 and cpp-4.5)
but the error is the same:
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/bits/stl_algobase.h:71:0,
from /home/alex/l4env/include/contrib/libstdc++-v3/memory:53,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/…
[View More]include/contrib/libstdc++-v3/bits/cpp_type_traits.h:358:12: error: expected identifier before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:358:12: error: expected unqualified-id before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected identifier before ‘__is_empty’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected unqualified-id before ‘__is_empty’
make[4]: Entering directory `/home/alex/src/l4/pkg/drivers-frst/nand/src'
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/memory:60:0,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/include/contrib/libstdc++-v3/limits:1067:9: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
/home/alex/l4env/include/contrib/libstdc++-v3/limits:1080:51: error: ‘std::numeric_limits<double>::is_iec559’ cannot be initialized by a non-constant expression when being declared
make[5]: *** [allocator-inst.o] Error 1
now gcc -v says 4.5.3
> Date: Sun, 19 Jun 2011 17:15:09 +0200
> From: adam(a)os.inf.tu-dresden.de
> To: alex22_7(a)hotmail.com
> Subject: Re: L4Re build error
>
>
> On Sun Jun 19, 2011 at 14:52:43 +0000, Slex Sangiuliano wrote:
> >
> > more information:
> > Platform x86 (pentium D, but in config i choose i686)
> > I'm building on 32 bit enviroment (Debian Wheezy,
> > the error occurs also on Fedora 15, in FreeBSD 8.2 i get another kind
> > of error during gmake O=/home/alex/build config).
> > On Debian the
> > version of gcc is 4.6.1. (On FreeBSD 4.2.1). I prefer to build on
> > Debian, so it, for now, is the reference system.
> > Thank you again
> >
> > P.S: I sent this message after my first message, but for network problem, now solved, it never comes
> > So after that i read your response i add another question: I need a specific compiler? if yes what is the best Operating System that has that compiler?
>
> Ah, 4.6 explains it. 4.6 will be support on the next release. For now
> 4.5 will do, which is also available on wheezy.
>
>
>
> Adam
> --
> Adam adam(a)os.inf.tu-dresden.de
> Lackorzynski http://os.inf.tu-dresden.de/~adam/
[View Less]
Hi,
I have a build problem:
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/bits/stl_algobase.h:71:0,
from /home/alex/l4env/include/contrib/libstdc++-v3/memory:53,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:358:12: error: expected identifier before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/…
[View More]cpp_type_traits.h:358:12: error: expected unqualified-id before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected identifier before ‘__is_empty’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected unqualified-id before ‘__is_empty’
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/memory:60:0,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/include/contrib/libstdc++-v3/limits:1067:9:
error: a call to a constructor cannot appear in a constant-expression
So i can't build, hot to solve this?
Thank you,
Slex
P.S Probably, I sent this email 2 times for a mistake. I'm very sorry
[View Less]
Hi,
I have a build problem:
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/bits/stl_algobase.h:71:0,
from /home/alex/l4env/include/contrib/libstdc++-v3/memory:53,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:358:12: error: expected identifier before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/…
[View More]cpp_type_traits.h:358:12: error: expected unqualified-id before ‘__is_pod’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected identifier before ‘__is_empty’
/home/alex/l4env/include/contrib/libstdc++-v3/bits/cpp_type_traits.h:371:12: error: expected unqualified-id before ‘__is_empty’
In file included from /home/alex/l4env/include/contrib/libstdc++-v3/memory:60:0,
from /home/alex/src/l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/src/allocator-inst.cc:34:
/home/alex/l4env/include/contrib/libstdc++-v3/limits:1067:9: error: a call to a constructor cannot appear in a constant-expression
So i can't build, hot to solve this?
Thank you,
Slex
[View Less]
Hi,
I tried to run fiasco and L4Linux on an SMP machine that features two
idenpendent PCI root bridges. Currently, the io process fails to scan
the bus connected to the second bridge.
It properly detects that two PCI root bridges are present and creates
two seperate Pci_port_root_bridge objects. However, it fails to
initialize the Pci_bridge::num field properly. As a result, the io
process scans the first bus twice. This causes major havoc as PCI
devices on the second bus don't show up in …
[View More]L4Linux at all and devices
on the first bus are detected twice.
According to http://www.acpi.info/acpi_faq.htm the ACPI structures should
contain a _BBN method to detect the bus number of both root busses.
The following patch uses this method to detect and set the Pci_bridge::num
field properly.
A patch to fix this is provided below. With this patch NICs on both PCI
busses are detected and work properly on the hardware in question.
As always comments are appreciated.
regards Christian
The contributions made by this patch are licensed under the MIT license
(http://www.opensource.org/licenses/mit-license.php).
diff --git a/src/l4/pkg/io/server/src/acpi.cc b/src/l4/pkg/io/server/src/acpi.cc
index f76c768..4179c4e 100644
--- a/src/l4/pkg/io/server/src/acpi.cc
+++ b/src/l4/pkg/io/server/src/acpi.cc
@@ -572,9 +572,25 @@ discover_pre_cb(ACPI_HANDLE obj, UINT32 nl, void *ctxt, void **)
//AcpiUtReleaseMutex(ACPI_MTX_NAMESPACE);
// hm, this seems very specific for PCI
+ /*
+ * Systems with multiple PCI root bridges must provide the PCI bus
+ * number of each bus via the _BBN method.
+ */
if (pci_rb)
{
- d_printf(DBG_DEBUG, "Found PCI root bridge...\n");
+ ACPI_INTEGER pci_int;
+ bool have_bbn = false;
+
+ if (ACPI_SUCCESS(AcpiUtEvaluateNumericObject((char*)METHOD_NAME__BBN,
+ node, &pci_int)))
+ {
+ d_printf(DBG_DEBUG, "PCI root bridge with BBN=%llx...\n", pci_int);
+ have_bbn = true;
+ }
+ else
+ {
+ d_printf(DBG_DEBUG, "Found PCI root bridge without BBN...\n");
+ }
if (Pci_root_bridge *rb = pci_root_bridge(0))
{
if (rb->host())
@@ -582,9 +598,13 @@ discover_pre_cb(ACPI_HANDLE obj, UINT32 nl, void *ctxt, void **)
// we found a second root bridge
// create a new root pridge instance
rb = new Pci_port_root_bridge(nd);
+ if (!have_bbn)
+ d_printf(DBG_ERR, "ERROR: Multiple root bridges without BBN\n");
}
else
rb->set_host(nd);
+ if (have_bbn)
+ rb->num = pci_int;
nd->set_discover_bus_if(rb);
}
[View Less]