kernkonzept / fiasco Goto Github PK
View Code? Open in Web Editor NEWThe development version of the L4Re Microkernel
Home Page: https://github.com/kernkonzept/fiasco/wiki
The development version of the L4Re Microkernel
Home Page: https://github.com/kernkonzept/fiasco/wiki
Hello, sorry if this isn't the right channel to ask, but I couldn't find one that looked more suitable.
Does Fiasco (or the non-kernel components that run on top of it) support containers?
If not, does Fiasco (or the non-kernel components that run on top of it) support concepts analogous to Linux namespaces and cgroups, to implement a container runtime on top of it?
Static Per_cpu<>
objects are constructed twice in the same place if CONFIG_MP
is disabled.
At least on x86, Per_cpu_data::run_ctors
is called twice:
fiasco/src/kern/ia32/startup-ia32.cpp
Line 68 in b542159
fiasco/src/kern/kernel_thread.cpp
Line 76 in b542159
Without CONFIG_MP, run_ctors
does not make use of the Cpu_number
argument:
fiasco/src/kern/per_cpu_data.cpp
Lines 170 to 182 in b542159
Therefore, the Per_cpu<>
objects are constructed twice in the same place when they should only be constructed once or twice but in different locations (as it happens with CONFIG_MP
enabled).
This problem also seems to occur with Per_cpu_data::run_late_ctors
and Per_cpu_data_alloc::alloc
.
I discovered this issue by observing that Jdb_ipc_log_pm
was constructed twice.
fiasco/src/jdb/ia32/jdb_trace_set-ia32-ux.cpp
Line 128 in b542159
I have not verified that the issue still persists with the newest commit on master but there are no relevant code changes as far as I can see.
After updating Fiasco.OC to the current state on Github (commit-id 4367c50), I've tested the new configuration option to always switch the FPU eagerly, because our user-level components make heavy use of the FPU anyway. But when the configuration option "Enable lazy FPU switching" is not set, the kernel runs into an assertion at the very beginning: src/kern/arm/32/fpu-arm.cpp:327
. I have tested it on i.MX6 Quad Sabrelite.
When building Fiasco.OC for ARM with binutils 2.36.1 (as provided by Ubuntu 21.04), a link error occurs:
==> Linking fiasco.debug
arm-linux-gnueabihf-ld: cannot use executable file 'bootstrap.fiasco.o' as input to a link
The error is related to this binutils change: https://sourceware.org/bugzilla/show_bug.cgi?id=26047
An attempt of a VMM to cancel a event (irq) injection is ignored at https://github.com/kernkonzept/fiasco/blob/master/src/kern/ia32/vm_vmx.cpp#L296. The upper bit of Vmx::F_entry_int_info may stay pending (valid) in the VMCS and an now unexpected virtual IRQ gets delivered to the VM as soon as interrupt delivery is enabled again in the VM. This leads in our case to a not booting VM because of invalid guest state VM exits during early boot. I encountered it during our work on a generalized x86 virtualization interface for Genode.
The commit alex-ab/foc@a841138 avoids the issue for us and let boot the VM successfully.
why returned?
it won't work,if i want to use Gic::set_mode.
352 Gic::set_mode(Mword pin, Mode m) override
353 {
354 return 0;
fiasco/src/lib/libk/bitmap.cpp
Line 141 in 146fc85
Should be if (v & (1UL << b))
. Just like the function atomic_get_and_set
above.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.