Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Genode 24.08 support: Adapt to changes in Genode, up to (for now) hog "layer 6": * new drivers paths, "driver/" instead of "drivers/" ; * new drivers naming, "ahci_drv" is renamed to just "ahci" (and vesa_fb, pc_platform etc) ; * new Nitpicker/view API ; * new Point, Rect, Area APIs ; * new Grub2 package ; Clean-up: * refactor the interface-kit <-> Nitpicker glue code a fair bit, to decrease tech debt and also for the next reason ; * try to remain compatible with c++17 : only apply c++20 in places where this does not clash with the old STL ("algorithm" header, "queue" class, etc), in other cases we shuffle code around to separate and prevent clashes. That's cleaner anyway ; * (when will I update my old toolchain ??) ; -- TESTS -- * worked on layers up to "jam hog-demos.emu6", looking good so far except for 2 regressions (due to my old c++17 toolchain ? gotta try in Linux host instead) ; * regression with FillRect(BGradient&) ; * regression with DrawString() ; |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | new-genode-rev |
Files: | files | file ages | folders |
SHA1: |
57b8caef0b02356fdf2c23f9dfdbd90a |
User & Date: | user 2024-09-11 13:32:06 |
Context
2024-09-18
| ||
08:06 | fix-up Genode 24.08 support: Canvas: fix painting regression: * we now need to specify the alpha channel/opacity value for Color's passed to shaded Polygon and to Text_painter, otherwise they seem to bet set to 0, i.e. no painting ; * that fixes FillRect( BGradient& ) used for painting window tabs etc ; * that fixes DrawString() ; * rule BinCommand was seemingly staging the posix.lib.so file *after* it was needed, should be fixed ; Genode adapt: complete up to level 9 build: * more removals of _drv suffix (usb, usb_hid, intel_fb, intel_gpu, pci_audio) ; * didn't adapt "wifi_drv" yet, waiting for the next package in Genode 24.10 ; * also adapt USE_DRV_MANAGER builds (jam composition, driver_manager C++ code) ; * also prepare next commit that will fix the build when done on a Linux host ; -- TESTS -- * ran the full TTS distro, using Debian-built dde_linux drivers, looking good ; * tested USB-HID, canvas, nic with Ftp+, vfs with AK) ; * GeDepot packages don't work any more though (ABI change), will upgrade to newer packages when Genode/Sculpt 24.10 ships ; check-in: 60385a1069 user: user tags: new-genode-rev, trunk | |
2024-09-11
| ||
13:32 | Genode 24.08 support: Adapt to changes in Genode, up to (for now) hog "layer 6": * new drivers paths, "driver/" instead of "drivers/" ; * new drivers naming, "ahci_drv" is renamed to just "ahci" (and vesa_fb, pc_platform etc) ; * new Nitpicker/view API ; * new Point, Rect, Area APIs ; * new Grub2 package ; Clean-up: * refactor the interface-kit <-> Nitpicker glue code a fair bit, to decrease tech debt and also for the next reason ; * try to remain compatible with c++17 : only apply c++20 in places where this does not clash with the old STL ("algorithm" header, "queue" class, etc), in other cases we shuffle code around to separate and prevent clashes. That's cleaner anyway ; * (when will I update my old toolchain ??) ; -- TESTS -- * worked on layers up to "jam hog-demos.emu6", looking good so far except for 2 regressions (due to my old c++17 toolchain ? gotta try in Linux host instead) ; * regression with FillRect(BGradient&) ; * regression with DrawString() ; check-in: 57b8caef0b user: user tags: new-genode-rev, trunk | |
2024-09-03
| ||
16:52 | -- Fix nano3d deployer, Add bubble-universe deployer, clean up (before upgrading to Genode 24.08) -- Fix/Improve GeDepot: * recently changed nano3d deployer to show off the new 'override config' feature ; * realized after testing it no longer works ; * we have to make sure the invoke gets routed to InitPilot (not DeployPilot), with the exe path (instead of the runtime path) ; * also added "bubble universe" package deployer (see the discourse forum for background) ; Prepare for Jam refactor of IPC: * create rule AddStackBeIpc ; * will use it later in the rest of the repo to refactor compositions that involve broker and registrar ; Various C++ and Jam clean-ups: * jam: add CheckExternalFile rule, for verifying that a given file outside of the repo (non tracked) is patched as we require ; * jam: refactor rules, clean-up, silence Gcc -Wno-missing-field-initializers in app/ and interface/ ; * fuse-ntfs: fix-up sizeof(Dirent), clean-up logging ; * PartitionSetupGPT: refactor terminateChild() ; -- TESTS -- * tested GeDepot install/deploy, looking good (nano3d works again, and no regression to be seen in fuse/FS) ; * bubble-universe downloads/launches quick and looks great, thanks Norman! ; check-in: ff34427237 user: user tags: trunk | |
Changes
Changes to genode-haiku/README.md.
︙ | |||
129 130 131 132 133 134 135 | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | - + - + - + | Hnetserv: box with .n at south of Hnet "net_server" fill $red # ---------------------- HOG: text same with .w at 3*$margin east of 1st text.e "Haiku on Genode" GKern: box "Nova Microkernel" fit wid 290% |
︙ | |||
156 157 158 159 160 161 162 | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | - + | Gnp: box with .n at south of Gvesa "nitpicker" fill $blue box "libbe-HiG" "(Haiku, ttcoder)" fill $misc thick box "registrar" box "Deskbar, Tracker" box "AutoCast, MMD," "AK, L'ning, etc" |
︙ |
Changes to genode-haiku/ge-drivers/vfs_fuse_ntfs_tts/world-src-lib-ntfs-3g/init.cc.
︙ | |||
126 127 128 129 130 131 132 | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | - + | (*ctx)->silent = TRUE; // silence the ntfs_mst_post_read_fixup_warn notices... (*ctx)->recover = TRUE; #if 1 // HoG_GENODE (*ctx)->ro = configured_as_readwrite ? FALSE : TRUE; // ! /* READ-ONLY versus read/write flag: Careful to *only* enable read-write ("ro == FALSE") if the backing |
︙ |
Changes to genode-haiku/ge-services/repos-gems-src-apps/driver_manager/main.cc.
︙ | |||
180 181 182 183 184 185 186 | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | - + - - + + - + - - + + - + - + - + | struct Driver_manager::Vesa_fb_driver : Device_driver { void generate_start_node(Xml_generator &xml) const override { xml.node("start", [&] () { |
︙ | |||
279 280 281 282 283 284 285 | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | - + - + - + | }; Boot_fb_driver(Mode const mode) : _ram_quota(Ram_quota{mode.num_bytes()}) { } void generate_start_node(Xml_generator &xml) const override { xml.node("start", [&] () { |
︙ | |||
335 336 337 338 339 340 341 | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | - + - + - + | void gen_service_forwarding_policy(Xml_generator &xml, Default_label const &default_label) const { for (unsigned i = 0; i < 6; i++) { xml.node("policy", [&] () { xml.attribute("label_suffix", String<64>("ahci-", i)); xml.node("child", [&] () { |
︙ | |||
387 388 389 390 391 392 393 | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | - + - + | void gen_service_forwarding_policy(Xml_generator &xml, Default_label const &default_label) const { xml.node("policy", [&] () { xml.attribute("label_suffix", String<64>("nvme-0")); xml.node("child", [&] () { |
︙ |
Changes to genode-haiku/hai-src/apps/deskbar/_GeJamfile.inc.
︙ | |||
28 29 30 31 32 33 34 | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | - + | AddInteractiveComponents hog-deskbar.run ; } # Deskbar runs at "emu8" level (with a whole haiku.lib.so, which thus needs media libs) AddAudioComponents hog-deskbar.run ; |
︙ | |||
87 88 89 90 91 92 93 | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | - + - + | AddComponentAsStart hog-deskbar.run : 128M : init : " name=\"drivers_init\" caps=\"1300\" priority=\"-2\" " : " <binary name=\"init\"/> \ <route> \ <service name=\"ROM\" label=\"config\"> \ <child name=\"dynamic_rom\"/> \ </service> |
︙ | |||
122 123 124 125 126 127 128 | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | - + - + - + - - + + | \ <service name=\"Report\"/> \ <service name=\"Timer\"/> \ <service name=\"Capture\"/> \ <service name=\"IO_MEM\"/> \ <service name=\"IO_PORT\"/> \ <service name=\"Event\"/> \ </parent-provides> |
︙ |
Changes to genode-haiku/hai-src/servers/registrar/_Ge_InitPilot.cpp.
︙ | |||
267 268 269 270 271 272 273 | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | - + | { // Genode apps (nano3d etc) should route "Gui" to WM: // re-label Gui (to use MOTIF window manager Gui instead of raw nitpicker Gui) s << " <route>\n" << " <service name=\"Gui\"> <parent label=\"ge_wm_gui\"/> </service>\n" // dynit parent knows how to route "ge_wm_gui" ; |
︙ |
Changes to genode-haiku/haiku-on-genode/kits/app/Application.cpp.
︙ | |||
35 36 37 38 39 40 41 | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | - + | #include <Roster.h> #include <Window.h> #include <AppMisc.h> #if 0 // HoG_GENODE #include <AppServerLink.h> #else |
︙ | |||
299 300 301 302 303 304 305 | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | } MouseAndKeyboard & BApplication::MouseKbd() { return inputDevicesState; } |
︙ |
Changes to genode-haiku/haiku-on-genode/kits/app/Application.h.
︙ | |||
15 16 17 18 19 20 21 | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | - - - - + + | #if defined( HoG_GENODE ) // libbe.so #include <support/Locker.h> // member |
︙ | |||
50 51 52 53 54 55 56 57 58 59 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | + + + - + + + | VideoMode( const VideoMode & peer ); VideoMode & operator=( const VideoMode & ); }; */ class FontStash { public: /// struct opaque_painter; // hide the 'Text_painter::Font' implementation, from the (many) users of the Application.h header public: FontStash(); |
︙ |
Changes to genode-haiku/haiku-on-genode/kits/app/Cursor.cpp.
︙ | |||
15 16 17 18 19 20 21 | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | - + | to see a nice shadowes one, we will need to extend this one. */ #include <AppDefs.h> #include <Cursor.h> #ifdef HoG_GENODE |
︙ | |||
50 51 52 53 54 55 56 | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | - + | || data[0] != 16 // size || data[1] != 1 // depth || data[2] >= 16 || data[3] >= 16) // hot-spot return; // Send data directly to server #ifdef HoG_GENODE |
︙ | |||
122 123 124 125 126 127 128 | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | - + | if (&other != this && other != *this) { _FreeCursorData(); fServerToken = other.fServerToken; fNeedToFree = other.fNeedToFree; #ifdef HoG_GENODE |
︙ | |||
168 169 170 171 172 173 174 | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | - + | void BCursor::_ReservedCursor4() {} void BCursor::_FreeCursorData() { #ifdef HoG_GENODE |
Changes to genode-haiku/haiku-on-genode/kits/app/Jamfile.
︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | + + | -Wno-missing-field-initializers ; if $(LayerLevel) >= 5 { HaikuKit app_kit.a : _GeFontStash.cpp AppDefs.cpp Application.cpp # ## # # AppMisc.cpp # ## AppServerLink.cpp Cursor.cpp Clipboard.cpp |
︙ | |||
58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | + + + + | # # # KeyStore implementation ## Key.cpp ## KeyStore.cpp ; } #///later: get rid of this hack once I upgrade my GCC toolchain ObjectC++Flags _GeFontStash.cpp : "-std=gnu++20" ; # Roster.cpp is compiled differently below/above level 7: # (i.e. there are *two* .o object files, that spares us having to call rule "Always Roster.o", which would slow down builds and be hackish) # if $(LayerLevel) >= 7 { HaikuKit app_kit.a : |
︙ |
Added genode-haiku/haiku-on-genode/kits/app/_GeFontStash.cpp.