Hi everybody,
I am quite new to L4 but currently writing some sort of demo/learning applications to get a deeper understanding. I am using fiasco-ux which is very useful as it allows really short "compile-and-try" cycles :-) I want to use the log pkg which works quite good when compiling applications with "MODE=sigma0" or "MODE=tiny" set inside the according Makefile. However, when using "MODE=l4env" (which is the default according to the bid manual and is also used in some examples) the log server somehow eats the printf's. Is there any way to get them back to the console? Or is this not even desired in that mode? I am currently loading the following additional libs: "names dm_phys l4io log l4env_pr".
Best regards,
Andre
Hi,
On Wed Feb 11, 2009 at 19:36:11 +0100, Andre Puschmann wrote:
I am quite new to L4 but currently writing some sort of demo/learning applications to get a deeper understanding. I am using fiasco-ux which is very useful as it allows really short "compile-and-try" cycles :-) I want to use the log pkg which works quite good when compiling applications with "MODE=sigma0" or "MODE=tiny" set inside the according Makefile. However, when using "MODE=l4env" (which is the default according to the bid manual and is also used in some examples) the log server somehow eats the printf's. Is there any way to get them back to the console? Or is this not even desired in that mode?
It is desired to just work. What do you mean with 'eat'? Could you just copy'n'paste the output?
Adam
Hi Adam,
Adam Lackorzynski wrote:
It is desired to just work. What do you mean with 'eat'? Could you just copy'n'paste the output?
Eat means that I don't see anything. Using plain printf() also doesn't work. Looks like the stdio isn't configured properly. Did I forget a command line switch? Attached is the complete fiasco ux log.
Thanks very much in advance.
Andre
<log> Fiasco-UX on Linux 2.6.24-23-generic (i686) Native Syscall Map: 0x200 Mapped 32 MB Memory + 0 KB Framebuffer + 0 KB Input Area on FD 3
Loading Module 0x00100000-0x00109380 [./l4/bin/x86_586/l4v2/sigma0] Loading Module 0x00110000-0x002ad000 [./l4/bin/x86_586/l4v2/roottask] Copying Module 0x01a01000-0x01c6f8ca [./l4/bin/x86_586/l4v2/l4io] Copying Module 0x01965000-0x01a0099b [./l4/bin/x86_586/l4v2/dm_phys] Copying Module 0x01923000-0x01964c27 [./l4/bin/x86_586/l4v2/names] Copying Module 0x018e4000-0x01922aaa [./l4/bin/x86_586/l4v2/log] Copying Module 0x01774000-0x018e3afa [./l4/bin/x86_586/l4v2/dde26_test]
Bootstrapping...
Welcome to Fiasco(ux)! DD-L4(v2)/ia32 microkernel (C) 1998-2009 TU Dresden Rev: r429 compiled with gcc 4.2.4 for Intel Pentium []
CPU: GenuineIntel (6:D:6:16) Model: Pentium-M (Dothan) at 1600 MHz
128 Entry I TLB (4K pages) 2 Entry I TLB (4M pages) 128 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 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: 24576 bytes (6 pages)
Calibrating timer loop... done. SIGMA0: Hello! KIP @ 1efc000 Found Fiasco: KIP syscalls: yes allocated 4KB for maintenance structures
Roottask. Found Fiasco-UX. Command line found: "./l4/bin/x86_586/l4v2/roottask"
31680kB ( 30MB) total RAM (reported by bootloader) 26436kB ( 26MB) received RAM from Sigma0 6752kB ( 7MB) reserved RAM for RMGR Received I/O ports 0000-ffff Attached irqs = [ <!0> 1 2 3 4 5 6 7 8 9 A B C D E F <!10> <!11> ]
Roottask: Loading 5 modules. #05: loading "./l4/bin/x86_586/l4v2/l4io" from [01a01000-01c6f8ca] to [00c20000-00c443b5][00c45000-00cb3000] entry at 00011074 via trampoline page code symbols at [0171e000-01774000] (344kB), lines at [01704000-0171e000] (104kB) #06: loading "./l4/bin/x86_586/l4v2/dm_phys" from [01965000-01a0099b] to [01500000-015138d7][01514000-0151e000] entry at 00012078 via trampoline page code symbols at [01c80000-01c85000] (20kB), lines at [01c72000-01c80000] (56kB) #07: loading "./l4/bin/x86_586/l4v2/names" from [01923000-01964c27] to [002d0000-002d67b7][002d7000-002e2000] entry at 00013074 via trampoline page code symbols at [01c70000-01c72000] (8kB), lines at [01c6a000-01c70000] (24kB) #08: loading "./l4/bin/x86_586/l4v2/log" from [018e4000-01922aaa] to [00400000-00406eca][00407000-00439828] entry at 00014074 via trampoline page code symbols at [01c68000-01c6a000] (8kB), lines at [01c62000-01c68000] (24kB) #09: loading "./l4/bin/x86_586/l4v2/dde26_test" from [01774000-018e3afa] to [00a00000-00a28082][00a29000-00a4d000] entry at 0001507c via trampoline page code symbols at [01c59000-01c62000] (36kB), lines at [01c3a000-01c59000] (124kB) </log>
Hi,
I forgot to include the start script, sorry! Here you go ..
#!/bin/sh
FILES="l4io dm_phys names log dde26_test" #ROOTARGS="rom/hello"
FIASCODIR=./fiasco FIASCO=${FIASCODIR}/fiasco BINDIR=./l4/bin/x86_586/l4v2
for f in ${FILES}; do ARGS="${ARGS} -l ${BINDIR}/$f" done
ARGS="${ARGS} -m32"
${FIASCO} -I ${FIASCODIR}/irq0 -S ${BINDIR}/sigma0 \ -R ${BINDIR}/roottask -n 9 \ ${ARGS}
Best regards, Andre
On Sun Feb 15, 2009 at 17:49:07 +0100, Andre Puschmann wrote:
I forgot to include the start script, sorry! Here you go ..
Look at l4/tool/runux :) (and the REAME there).
Adam
Hi Andre,
On Sun Feb 15, 2009 at 17:26:10 +0100, Andre Puschmann wrote:
Adam Lackorzynski wrote:
It is desired to just work. What do you mean with 'eat'? Could you just copy'n'paste the output?
Eat means that I don't see anything. Using plain printf() also doesn't work. Looks like the stdio isn't configured properly. Did I forget a command line switch? Attached is the complete fiasco ux log.
Looks all good configuration wise and works in my setup so it must be something specific. Is it just dde26_test that's not outputting anything? l4io should at least give a line of output after starting. If you add 'hello', does it output something? If you add '-v' to dm_phys does it output something?
Fiasco-UX on Linux 2.6.24-23-generic (i686)
Hmm, Ubuntu.
Adam
Hi Adam,
I further investigated the problem but still wasn't able to find a solution.
Adam Lackorzynski wrote:
Looks all good configuration wise and works in my setup so it must be something specific. Is it just dde26_test that's not outputting anything?
No, a simple hiworld-server app also prints nothing. I created that with the template script in l4/mk/tmpl/inst. The problem here is, that the default MODE is set to "l4env". Adding a MODE=sigma0 shows the "hiworld".
l4io should at least give a line of output after starting.
No, nothing ..
you add 'hello', does it output something?
Yes, it does. But hello is compiled with MODE=sigma0 by default.
If you add '-v' to dm_phys does it output something?
Yes, it does. (But MODE is also set to sigma0)
Fiasco-UX on Linux 2.6.24-23-generic (i686)
Hmm, Ubuntu.
Shame on me ;-) I gave up compiling everything from scratch one or two years ago. It took hours (if not days ) on my machine.
Best regards,
Andre
Hi,
On Mon Feb 16, 2009 at 21:20:53 +0100, Andre Puschmann wrote:
Adam Lackorzynski wrote:
Looks all good configuration wise and works in my setup so it must be something specific. Is it just dde26_test that's not outputting anything?
No, a simple hiworld-server app also prints nothing. I created that with the template script in l4/mk/tmpl/inst. The problem here is, that the default MODE is set to "l4env". Adding a MODE=sigma0 shows the "hiworld".
l4io should at least give a line of output after starting.
No, nothing ..
you add 'hello', does it output something?
Yes, it does. But hello is compiled with MODE=sigma0 by default.
If you add '-v' to dm_phys does it output something?
Yes, it does. (But MODE is also set to sigma0)
Ok, hmm. No immediate idea. The strings should get to pkg/log/lib/src/logserver.c and sent to the logserver. Maybe this is a hint where to look. Maybe also send me your binaries to have a look.
Fiasco-UX on Linux 2.6.24-23-generic (i686)
Hmm, Ubuntu.
Shame on me ;-) I gave up compiling everything from scratch one or two years ago. It took hours (if not days ) on my machine.
No problem, Ubuntu is just a bit special sometimes, so it's good to know...
Adam
l4-hackers@os.inf.tu-dresden.de