Guten Tag,
I've got the Hello app runing with fiasco and l4re in qemu, how do I get
the graphical UI and console running that I see on the screen shots page?
Do I need to use l4con and mag? I don't see an entry with l4con in
modules.list.
danke
* <http://german.about.com/library/media/Audio/gutentag.wav>*
Hello,
yesterday I came across a very interesting paper titled "Porting FUSE to L4Re", accessible here: http://os.inf.tu-dresden.de/papers_ps/pester-beleg.pdf
For porting FUSE, the author uses a library called "libfs" which provides filesystem request forwarding and processing, if I understood correctly. It reads as if libfs is already included in L4Re.
However, I couldn't find neither FUSE nor libfs in the current L4Re snapshot. Are they by any chance publicly available somewhere else, or are …
[View More]both not to be published?
Cheers,
Josef
[View Less]
Hello again,
Emboldened by my recent modest success, and taking a look at the previously-
mentioned MIP32 port of Fiasco.OC and L4Re [*], which doesn't really seem to
have any community involved with it, I wondered whether there might be some
general documentation about adding board support files to Fiasco.OC as well as
writing drivers for L4Re.
[*] https://github.com/MIPS/fiasco-l4re
I've browsed around the L4Re site and have even looked at the TU Dresden
teaching resources, but there …
[View More]appears to be a lot of slideshows and not so
much in the way of concise guidance on such topics. Are there any documents
out there that cover writing the actual code involved?
With regard to board support, I get the feeling that I could possibly get away
with something rather similar to other MIPS-based boards, and if I'm launching
Fiasco.OC from U-Boot, I might not even need to do the basic board setup tasks
(which include things like setting up the DRAM on the SoC concerned). However,
I suspect that I would have to look into things like interrupt controllers for
the various timers that I suppose must be needed by the kernel.
As for driver support, I noticed a previous message that gives an outline of
what should be done:
http://os.inf.tu-dresden.de/pipermail/l4-hackers/2015/007475.html
Here, to be more specific, I imagine that the following things would be
affected:
1. src/l4/pkg/io/config/<board>.devs would need populating with Device
definitions employing those Mmio declarations
2. src/l4/pkg/io/config/vbus-config.vbus might need changing, perhaps to allow
devices to match some bus identifier or other, although I don't completely
follow this (I'm guessing that my driver should obtain a device reference via
the vbus mechanism)
3. looking at the src/l4/pkg/drivers/lcd/src/lcd-omap3.c driver, which
probably references devices in src/l4/pkg/io/io/config/plat-
beagleboard/hw_devices.io, I see that the driver actually obtains a reference
to the "dss" device using l4io_lookup_device, whereas the GPIO and I2C devices
are obtained using l4vbus_get_device_by_hid, but I'm guessing that there is a
distinction between specific and generic devices here
4. in src/l4/pkg/drivers/.../<device>.c the l4io_request_iomem call would
employ the same physical addresses as those mentioned in (1) to access the
device memory regions
I did start looking at the existing LCD drivers, this being something that
I've managed to get to work with bare-metal code on the board concerned, and I
noticed that drivers/lcd seems to mention "arm" a lot, but would I be right in
assuming that none of that code is actually ARM-specific?
Thanks once again for any help you can offer!
Paul
[View Less]
Another year, another look at Fiasco-OC! ;-)
I've been looking again at Fiasco-OC.UX and trying to make sense of the
documentation. In particular, I'd like to be able to get the framebuffer
examples working with the UX graphical console, but it isn't clear to me what
I need to do.
One thing I discovered straight away was that I needed to provide the -F
option as part of the UX_OPTIONS variable when running UX via make. For
example:
cd src/l4
make O=mybuild ux E=hello MODULE_SEARCH_PATH=.…
[View More]./kernel/fiasco/mybuild \
UX_OPTIONS='-G 800x600@24 -F ../kernel/fiasco/mybuild/ux_con'
I suspect that to run a framebuffer example, such as the one in
src/l4/conf/examples/x86-fb.list, I need to specify E=x86-fb-example and
specify the list file using MODULES_LIST:
make O=mybuild ux E=x86-fb-example \
MODULES_LIST=conf/examples/x86-fb.list \
MODULE_SEARCH_PATH=../kernel/fiasco/mybuild \
UX_OPTIONS='-G 800x600@24 -F ../kernel/fiasco/mybuild/ux_con'
But this naive attempt gives me the following:
Could not find 'x86-fb.cfg' with path
'../kernel/fiasco/mybuild:/home/paulb/L4/src/l4/mybuild/bin/x86_prescott:...
I imagine that I need to more effectively specify paths to various things and
to check that they even make sense in the context of the UX environment.
Should I even be using this x86-related stuff?
Copying the different x86-fb files into one of my existing MODULE_SEARCH_PATH
directories did seem to resolve the above immediate error, however, but I then
appear to need to build various drivers. This seems to require chasing
dependencies as they are reported as missing by the build system, and that
makes me wonder whether I've overlooked a command that recursively checks out
all dependencies for a given component.
Anyway, running the above command with all dependencies compiled and with x86-
fb (and x86-legacy.devs) files in the path gives an error like this...
Ned: loading file: 'rom/x86-fb.cfg'
IO | Io service
IO | Find root Pointer
IO | ACPI Error: Could not map memory at 0x000E0000 for length 131072
(20121018/tbxfroot-286)
IO | Find root Pointer: 0
IO | Ready. Waiting for request.
mag | Hello from MAG
fbdrv | Trying execution of ``set VBE mode'' using x86emu
fbdrv | L4Re[rm]: unhandled read page fault at 0xfd0 pc=0x1007d49
fbdrv | L4Re: unhandled exception: pc=0x1007d49 (pfa=fd4)
fbdrv | L4Re: Global::l4re_aux->ldr_flags=0
...which probably suggests that I really should be using something other than
this x86-related stuff. Does anyone have any suggestions, or am I doing
something that no-one thought sensible?
(As mentioned last year on this list, I'm running everything under Debian on
x86, and UX does work with the "hello" example.)
Thanks in advance,
Paul
P.S. I've also found that various links on l4re.org to things like the
"getting started" details are broken. For example:
http://l4re.org/build.html -> http://l4re.org/doc/l4re_getting_started.html
[View Less]
Hi,
I want to use L4linux 3.10. I see that L4linux 3.10 is available
now from https://l4linux.org/, but I can't find any other download-website
except L4linux 4.3.
Is there some place I can get the older version(3.10) of the
L4linux?
thanks a lot!
--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for …
[View More]the exclusive use of the addressee(s). If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited. If you have received this mail in error, please delete it and notify us immediately.
[View Less]
Hello,
I have some questions concerning memory management in Fiasco O.C + L4re.
I would like to test two L4Linux instances, and for each L4Linux
instance I want to reserve one static fixed physical memory partition.
For instance, one 128MB for the first L4Linux and one 128MB for the second.
Knowing that Fiasco O.C. uses "on demand paging" to allocate pages for
user tasks, is it possible that each partition of L4Linux could be allocated
a static physical memory region composed of contiguous …
[View More]physical frames.
For instance, one memory region starting from 128MB to 256MB for the first
L4Linux,
and second memory region from 256MB to 512MB for the second L4Linux.
Each memory region is allocated exclusively to one L4Linux instance.
I would like to know if it is possible to load all the code + data of a
L4Linux instance
into its reserved memory partition, so no page fault will be encountered
during runtime.
Is it possible to tell me if these above operations could be realized in
Fiasco O.C and L4re?
If the answer is yes, is it possible to tell me what are the objects that
should be used or
adapted in order to implement these?
What are the issues that I should pay attention to?
Many thanks in advance for your answer.
Best regards,
Mahdi
[View Less]
Hi,
After a longer break I'm pleased to announce an
update of the L4Re system software.
https://l4re.org
Besides bug fixes and enhancements, noteworthy changes and
additions of this update include:
All:
- LLVM/Clang: Fiasco.OC is supported with Clang now, for the
userland we're nearly there
- Updates for recent GCC versions
- CROSS_COMPILE is the preferred way to set the compiler
prefix now
- URLs have been consolidated to be under the l4re.org domain
but old ones will remain to …
[View More]work for a foreseeable future.
L4Re:
- Package reorganization: Core packages have been moved to a
more hierarchical structure, e.g. l4re-core and io
- New RPC framework using C++ that generates client and server
side code from a single definition, code and examples have been
adapted accordingly
- Software updates, e.g. libstdc++, lua, libpng, libjpeg, lwip
- New L4Re::Dma_space interface to support DMA and IOMMUs
- io gained support for IOMMUs and MSI remapping
- Virtio library to support the development of virtio host
applications
- Documentation improvements: https://l4re.org/doc/
Fiasco.OC:
- IOMMU support, including MSI remapping (currently VT-d)
- Clang support
L4Linux:
- Added x86-64 variant
- Updated to version Linux 4.3
- MSI / MSI-X support
Happy new year,
Adam
[View Less]