Tagged Check-ins

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Check-ins with non-propagating tags:

Genode 21.11 support: * Fix build basics (running late), how to find headers etc ; * Add support for official (GCC10-based) toolchain - various build fixes, stricter header requirements, use "genode world" foldername/hash for libav as per updated build directions, etc ; * Tweak nitpicker "focus", that fixes the build (that wasn't an issue in my other repo though) ; TESTING: I'm in a rush to get to 22.02 and test the block/vfs speed-ups, but jam t6 looks good in qemu at least ; Leaf check-in: af4cad46e4 user: user tags: new-genode-rev, trunk
Genode 21.08 support: - Use new LibC foldername/hash in jam files ; - Modify USB-HID usage in jam files (the monolithic all-in-one usb_drv has been retired, must now package and refer to 2 distinct components, "usb_host_drv" and "usb_hid_drv") ; - TESTING: the past few weeks I had succeeded in getting USB mouse/kbd to work on my T410 (probably with the "bios handover" flag?), will test to check for regression when going from 21.05 to 21.08, looks good so far; QEMU testing is conclusive check-in: d33a06ff8d user: ttcoder tags: new-genode-rev, trunk
Enable Mandelbrot and Clock; jam feels a little... imperfect, at times. check-in: 0ff682ea2b user: ttcoder tags: release, trunk
Genode 21.05 support: - Jamrules: the toolchain now lives at /usr/local/..../21.05 (not 19.05 any more) ; - contrib: new jpeg and stdcxx libs so adjust "contrib" folder paths (also one change in Jamrules, for stdcxx headers). I'm now all caught up with Genode's latest and greatest. Will commit my "pthread" fix soon, and then resume talks. TESTING: demos, AutoCast, all seems fine in qemu and bare metal ; my old T410 still only has ps/2 mouse input though, maybe a regression in the USB driver ? or maybe using "BIOS handover" would help ? check-in: 55b1abfa99 user: ttcoder tags: new-genode-rev, trunk
Genode 21.02 support: - seems "core-nova.o" is now named "core-nova.a" ; - re-enabled event_filter -- does not restore xray mode etc but should restore full mouse support ; - fixed routing mishap in config of platform_drv which was tolerated until now, but would now make it fail ; Off-repo notes: - updated terminal_log stuff for AC (connect directly to nitpicker, no longer use gui_fb) ; - regression of sorts: when set for an initial size of 800x600, the terminal 1) gets to full-screen size, on both qemu in bare metal (mildly annoying) and 2) gets in front of of the AC window (only on bare metal, not qemu), making it inaccessible ; both issues will be solved once I use a proper WindowManager probably ? - gcc6 adventures: gcc couldn't find the "this" pointer in a lambda inside platform_drv, so had to create a local var with a copy of "this" and have it captured by the lambda ; easy peasy once I understood the situation ; check-in: de16e88551 user: ttcoder tags: new-genode-rev, trunk
Genode 20.11 support: - the audio driver is now named "pci_audio_drv" (instead of "audio_drv") ; - add support for USB-OHCI, might help with my T410 among others ; (or maybe the problem is due to the T410 using ps2 primarily, at the exclusion of USB, due to event_filter being remed out ?) ; - also did some heavy work dealing with pthreads and the like, but will commit only later check-in: c2093165a4 user: ttcoder tags: new-genode-rev, trunk
Genode 20.08 support: - gui: apply new "Gui::" namespace in C++, tweak run files and so on ; the Genode release notes are of great help here ; - libroot and kinda-kernel: use Mutex instead of Lock ; - stdcxx: dodged a new update ; took (silly-)me a while to figure out I have to revert not only contrib/ but also repos/libports/stdcxx stuff! ; - grub2: got updated, so refactor my run files to handle the change cleanly ; - libc: git messed up bad (after doig "git checkout.."), took me a while to realize that the tons of errors I was seeing were due to the awful mess if made of the source tree ; apparently it got confused because the commit entailed moving files around ; had to start off clean with a "git clone" instead, sigh, par for the course with git ; BUG/REGRESSION: mouse/keyboard input via USB does not work ([init -> event_filter] Warning: no policy defined for label 'usb_drv -> ') ; only ps/2 input works; I must have missed (and messed) something, will look into it. check-in: d5036882ed user: ttcoder tags: new-genode-rev, trunk
Genode 20.05 support: - Kinda-kernel: class Genode::Semaphore is now a NonCopyable, so tweak code to no longer use copy ctor/operator= (i.e. use std::map on pointers to structures, not directly on structure instances) ; - Jamrules: link against "ldso_so_support.lib.a" (new name, instead of "ldso-startup.lib.a") ; - Nitpicker: node type "configfile" is deprecated/obsoleted in 20.05, replace with config "ROM" instead ; (otherwise we get errors like "[init -> nitpicker] Warning: no policy defined for label 'global_keys_handler -> input'" ) ; TESTED up until now on qemu and real hardware. check-in: 885b477103 user: ttcoder tags: new-genode-rev, trunk
Genode 20.02 support: The pthread/libc "warning" from 19.11 has turned into a crash of Haiku apps. I'll rewrite my code to use pthreads later on, but for now a stop-gap is a one-line "patch" of Genode. Added an assertion in start-up code, to check for the presence of the patch, make sure that pthread_self() does not return NULL indeed. The patch means "errno" is not set correctly, but we don't depend on it yet in the current scenarios. TESTS: seeing no regression with updated HDA driver, but no progression on AMD system either -- probably needs some tweaking, will look into it soon. check-in: f962414507 user: ttcoder tags: new-genode-rev, trunk
Genode 19.11 support: Initially got the "rom error" at runtime again, so adusted my jam files some more, to be a closer match to Genode's build system (i.e. generalize the "abi" stuff, similar to how we link against "libc.abi.so" instead of "lib.lib.so", and seemingly crucially, we now "cd" to the folder so that the linker can be provided with the very minimal lib filenames). Applications work as usual, except that at runtime I'm getting messages like this one a lot with the libc update: "[init -> Clock] Error: pthread_self() called from alien thread named 'main BApplication thread'..". Seems to cause no harm though (update: trouble came later, in 20.02). Likely related to this: https://github.com/genodelabs/genode/commit/2d55ac7174d0385649a6fa4d9bda2ab4d4cbdd74 -- "Note, any call to libc code from a non-pthread (beside the first entrypoint) is not supported." check-in: b5c37e7227 user: ttcoder tags: new-genode-rev, trunk
Genode 19.08 support: - it's still possible to compile Genode with gcc6, with an additional tweak: need to rem out "Hex_range.." in libports/src/lib/libc/task.cc ; - libc raises a link/relocation error (relocation R_X86_64_PC32 against symbol `__libc_sigprocmask' can not be used) : need to edit contrib/libc-9252999ee23cfb811e707887ef05bf1283a41597/src/lib/libc/lib/libc/amd64/gen/sigsetjmp.S and apply this patch, which is similar to Genode's "cdefs-no-hidden.patch": - delete call __libc_sigprocmask - add call PIC_PLT(CNAME(_sigprocmask)) TESTED from t1 to t7 test levels, and AutoCast run scenario. check-in: 2737f3ffd0 user: ttcoder tags: new-genode-rev, trunk
Genode 19.02 and 19.05 support (might as well squash both in one commit): 19.02: changes timer driver's build location, but that has little to no bearing on jamfiles or on the wiki ; 19.05: adapt jamfiles for renaming of VESA FrameBuffer driver: fb_drv -> vesa_fb_drv ; adapt to new version of libav and zlib ; interestingly, 19.05 is the rev that switches from Gcc6 to Gcc8, but it's possible to keep compiling with Gcc6, at least this very version, so long as one keeps using the previous stdcxx (using a symlink hack), by passing an empty string to Session_label ctor (include/base/session_label.h, base/trace/types.h, etc), by remming out -Wno-error=implicit-fallthrough (gcc6 does not know that switch, unlike gcc8), and by disabling some "fatal" warnings concerning fallthrough (-Wno-attributes) ; added the latter to Jamrules as it's just the one harmless line, but as to the rest of it, I won't pollute the wiki with (more extensive) Haiku-only hacks only I have to use ; check-in: 5aeb4d01bc user: ttcoder tags: new-genode-rev, trunk
Genode 18.11 : we'll consider this commit as the reference Genode 18.11 one, before upgrading in the next few days ; Libroot-alternate: enable build ; this implements a number of 'syscalls', which no longer need to be stubbed out, so adjust stub list (and make it subject to "layering") ; NodeRef.h seems to be CR-LF in the haiku source tree, adjust to unix line feeds ; add thread-safety guards in critical places to protect access to shared (static) vars, since we'll use this "alternate" libroot as an actual libroot in a live, multi-threaded OS ; Build jamfiles: factor out "contrib" package version numbers (and depot versions) to an easy-to-maintain auxiliary Jamrules include ; will come in handy when upgrading to Genode 19.x ; link against "ABI" of libc, as linking directly against the "LIB.so" will no longer work in 19.05 ; remove a stray call to "strip" (the host's toolchain, not the Genode toolchain !) that's been there for months, piggy-backing on top of genode-x86-objcopy ... seems it was causing no harm, but still ; add an undocumented "layer zero", to deal with particularly difficult build situations where even linking against libc is undesirable ; add BMediaFile in layer 7 ; InterfaceKit: fix initial painting of BWindow, which would remain previously black in some cases ; MediaKit: add jamfile (but not cpp's for now) ; check-in: 7e2c0234c7 user: ttcoder tags: new-genode-rev, trunk
LEAK FIX in kinda-kernel: fix leak of Genode::Thread object (which leaks heap and a few capabilities) ; when a thread completes on its own, it now marks itself as "zombie", and is cleaned up shortly afterwards. OPTIM in Interface Kit: make painting/Invalidate much faster (less wasteful) ; maintain a "dirty rect" for the window, set it in Invalidate(), clear it after painting, and make sure painting occurs only within said rect's bounds; Canvas.SetOriginAndClipping() now takes two distinct parameters, as the view clipping/dirty rect might be separated from the view origin ; the work-around in Clock is now to call Invalidate(). TESTED on desktop, looks good. Sending an ISO to Dane tonight, but will continue committing this week's past changes, over the next few days. check-in: 86f65ae5f7 user: ttcoder tags: release, trunk