{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":541669199,"defaultBranch":"master","name":"genode","ownerLogin":"atopia","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-09-26T16:01:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1710873?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718882850.0","currentOid":""},"activityList":{"items":[{"before":"530df544e19c829c3b739b2c937bb13761c5b4ec","after":null,"ref":"refs/heads/libc-aio-build-fail","pushedAt":"2024-06-20T11:27:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":null,"after":"530df544e19c829c3b739b2c937bb13761c5b4ec","ref":"refs/heads/libc-aio-build-fail","pushedAt":"2024-06-20T07:43:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"TMP: libc: illustrate AIO build problem","shortMessageHtmlLink":"TMP: libc: illustrate AIO build problem"}},{"before":null,"after":"481d32d189ee0a9735287b2358e2d98721ce18d4","ref":"refs/heads/5249-poll-invalid-fds","pushedAt":"2024-06-17T08:11:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"libc: handle invalid file descriptors in poll()\n\npoll(2) needs to handle invalid file descriptors in the pollfd struct,\nspecifically -1 as it may be used to disable entries in the fds[] array.\n\nFix a possible nullptr dereference by checking the File_descriptor\npointer returned by find_by_libc_fd() for validity and skip processing\nof any unresolved FDs, effectively implementing standard POSIX\nsemantics.\n\nFixes #5249","shortMessageHtmlLink":"libc: handle invalid file descriptors in poll()"}},{"before":"d29a97143ca64a3e1939cea0069d0ea6bd0ff66f","after":null,"ref":"refs/heads/launchers-for-24.04","pushedAt":"2024-06-17T07:43:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"460ad0ea3478a1ebdab5ff6726b4c70ad5321a89","after":null,"ref":"refs/heads/hw-firefox-vm-launchers","pushedAt":"2024-06-17T07:43:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"0e4f701bb93c9e3a6696e1e0bc820446cf2ca14c","after":null,"ref":"refs/heads/5218-hw-nested-page-table","pushedAt":"2024-06-17T07:42:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"7ca7bd917ce11c2ec581019992a40eca2e4d0878","after":null,"ref":"refs/heads/5217-fixup-pflags","pushedAt":"2024-06-17T07:42:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"68ea82b0a99fc668e845becabcd23026a70db8c5","after":null,"ref":"refs/heads/5217-consolidate-page-tables","pushedAt":"2024-06-17T07:42:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"5eb72a710a321b7f2acb51165f92df99a56ea22f","after":null,"ref":"refs/heads/5210-tsc-frequency-cleanup","pushedAt":"2024-06-17T07:41:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"0cd97f78a30a020af102d8bf41b6510b80caeb9d","after":null,"ref":"refs/heads/5174-inspect-ram","pushedAt":"2024-06-17T07:40:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"779e40f7cb96fa64ff7b49453cb09467d2451e7f","after":null,"ref":"refs/heads/5147-fix-map-fixed","pushedAt":"2024-06-17T07:39:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"5f70b020f1e036c26ace6ee7e1956b7f7e46c701","after":null,"ref":"refs/heads/5128-vmx","pushedAt":"2024-06-17T07:38:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":"cb7d0fdbd4024d784abb6970dd10e2fe46c7b209","after":null,"ref":"refs/heads/5113-hw-generic-virtualization","pushedAt":"2024-06-17T07:37:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"}},{"before":null,"after":"460ad0ea3478a1ebdab5ff6726b4c70ad5321a89","ref":"refs/heads/hw-firefox-vm-launchers","pushedAt":"2024-05-21T14:26:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"TMP: sculpt; add launchers for Jschlatow's Firefox VM and themed_vm","shortMessageHtmlLink":"TMP: sculpt; add launchers for Jschlatow's Firefox VM and themed_vm"}},{"before":null,"after":"7ca7bd917ce11c2ec581019992a40eca2e4d0878","ref":"refs/heads/5217-fixup-pflags","pushedAt":"2024-05-21T10:05:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"fixup \"base: move page flags interface to base\"\n\nAdd missing adaptions to Page_flags consolidation.\n\nIssue #5217","shortMessageHtmlLink":"fixup \"base: move page flags interface to base\""}},{"before":"b8dd28ebfa58ca22c5d9b2d8aaa917dbc0ade12a","after":"0e4f701bb93c9e3a6696e1e0bc820446cf2ca14c","ref":"refs/heads/5218-hw-nested-page-table","pushedAt":"2024-05-17T10:16:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"hw: abstract nested paging on x86\n\nThe initial SVM implementation (correctly) just used another standard\nx86_64 page table for nested paging. The EPT implementation is for Intel\nVMX only. Since we don't know the underlying virtualization technology\nat compile time, we need to pick the correct page table implementation\nat runtime.\n\nAdd add a AMD-compatible HPT page table implementation using the same\nbase implementation and (more importantly) allocator as the EPT\nimplementation. Add a Vm_page_table implementation that determines the\nused virtualization technology at runtime and internally defers insert\nand remove operations to the correct page table implementation.\n\nIssue #5218","shortMessageHtmlLink":"hw: abstract nested paging on x86"}},{"before":null,"after":"d29a97143ca64a3e1939cea0069d0ea6bd0ff66f","ref":"refs/heads/launchers-for-24.04","pushedAt":"2024-05-17T09:22:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"TMP: pin launcher packages to Sculpt 24.04\n\nThis fixes the launcher presets trying to download nonexistant packages\nfrom the depot when building a sculpt image.","shortMessageHtmlLink":"TMP: pin launcher packages to Sculpt 24.04"}},{"before":null,"after":"fe899c719b6fe22281f778bd558cf75740de1a45","ref":"refs/heads/5218-hw-nested-page-table-lamdba","pushedAt":"2024-05-16T18:01:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"WIP: hw: abstract nested paging (Alternative 2: more readable, doesn't work)\n\nThe initial SVM implementation (correctly) just used another standard\nx86_64 page table for nested paging. The EPT implementation is for Intel\nVMX only. Since we don't know the underlying virtualization technology\nat compile time, we need to pick the correct page table implementation\nat runtime. To do this, we first at a \"HPT\" page table implementation\nusing the same base implementation and (more importantly) allocator as\nthe EPT implementation.\n\nThis is my go at picking a Vm_page_table implementation at runtime with\na virtual class. It just doesn't work yet:\n\nepos/base-hw/src/core/spec/x86_64/virtualization/vm_session_component.cc:158:16: error: invalid initialization of non-const reference of type ‘Board::Vm_page_table&’ from an rvalue of type ‘Core::Vm_session_component::Vm_session_component(Genode::Rpc_entrypoint&, Genode::Session::Resources, const Genode::Session::Label&, Genode::Session::Diag, Genode::Ram_allocator&, Genode::Region_map&, unsigned int, Core::Trace::Source_registry&)::’\n 158 | _table([&]() -> Board::Vm_page_table& {\n | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n 159 | if (Hw::Virtualization_support::has_vmx())\n | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n 160 | return *(new (cma()) Board::Vm_page_table_ept(_alloc_table()));\n | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n 161 | else\n | ~~~~\n 162 | return *(new (cma()) Board::Vm_page_table_hpt(_alloc_table()));\n | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n 163 | }),\n\nIf I skip the lambda and statically pick one of the implementations, I\nget:\n/usr/local/genode/tool/23.05/bin/../lib/gcc/x86_64-pc-elf/12.3.0/../../../../x86_64-pc-elf/bin/ld: debug/core-hw-pc.a(vm_session_component.o):(.data.rel.ro._ZTIN5Board17Vm_page_table_eptE[_ZTIN5Board17Vm_page_table_eptE]+0x10): undefined reference to `typeinfo for Board::Vm_page_table'\n\nIssue #5218","shortMessageHtmlLink":"WIP: hw: abstract nested paging (Alternative 2: more readable, doesn'…"}},{"before":"7491d114e3e0cd0ea7c8b2143c4d9170ae95b801","after":"b8dd28ebfa58ca22c5d9b2d8aaa917dbc0ade12a","ref":"refs/heads/5218-hw-nested-page-table","pushedAt":"2024-05-16T18:01:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"WIP: hw: abstract nested paging (Alternative 1, works)\n\nThe initial SVM implementation (correctly) just used another standard\nx86_64 page table for nested paging. The EPT implementation is for Intel\nVMX only. Since we don't know the underlying virtualization technology\nat compile time, we need to pick the correct page table implementation\nat runtime. To do this, we first at a \"HPT\" page table implementation\nusing the same base implementation and (more importantly) allocator as\nthe EPT implementation.\n\nThis version works without changes to the surrounding implementation, at\nthe expense of being not very readable.\n\nIssue #5218","shortMessageHtmlLink":"WIP: hw: abstract nested paging (Alternative 1, works)"}},{"before":"b9054d7bbb8810432631b50e6b4304c415c5c0b2","after":"68ea82b0a99fc668e845becabcd23026a70db8c5","ref":"refs/heads/5217-consolidate-page-tables","pushedAt":"2024-05-16T17:11:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"fixup: \"base: add shared page-table code for x86_64\"\n\nIssue #5217\n\nmove clfush.h to include/spec/x86_64/cpu","shortMessageHtmlLink":"fixup: \"base: add shared page-table code for x86_64\""}},{"before":null,"after":"7491d114e3e0cd0ea7c8b2143c4d9170ae95b801","ref":"refs/heads/5218-hw-nested-page-table","pushedAt":"2024-05-15T15:10:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"hw: implement EPT page table\n\nImplement a nested page table to use with x86 virtualization.\n\nFixes #5218","shortMessageHtmlLink":"hw: implement EPT page table"}},{"before":"1c775c2722c6cbf55b3cbe837d2565f10b6c9415","after":"b9054d7bbb8810432631b50e6b4304c415c5c0b2","ref":"refs/heads/5217-consolidate-page-tables","pushedAt":"2024-05-15T15:09:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"base: x86: page table base: make parameters compatible\n\nTo make the x86 page table base implementation compatible with the\nfunction signatures used in hw, make the Intel IOMMU specific arguments\noptional:\n\n- Make the `flush` parameter default to false.\n- Make the `supported_sizes` parameter default to 1GB + 2MB + 4k.\n\nIssue #5217","shortMessageHtmlLink":"base: x86: page table base: make parameters compatible"}},{"before":null,"after":"1c775c2722c6cbf55b3cbe837d2565f10b6c9415","ref":"refs/heads/5217-consolidate-page-tables","pushedAt":"2024-05-15T12:55:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"hw: use x86_64 page table template\n\nUse the page table base template class and remove the custom\nimplementation.\n\nIssue #5217","shortMessageHtmlLink":"hw: use x86_64 page table template"}},{"before":"7051d5fa8c3f1fdda3eceee263a5c7b654b9522b","after":"5f70b020f1e036c26ace6ee7e1956b7f7e46c701","ref":"refs/heads/5128-vmx","pushedAt":"2024-05-15T11:10:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"fixup: \"hw: add support for VMX\"\n\nRename `enforce_intercepts` to `enforce_execution_controls`.\n\nIssue #5128","shortMessageHtmlLink":"fixup: \"hw: add support for VMX\""}},{"before":"12e87b11a3ae03953e6ec86bf6099fab1c8e190d","after":"7051d5fa8c3f1fdda3eceee263a5c7b654b9522b","ref":"refs/heads/5128-vmx","pushedAt":"2024-05-14T17:56:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"hw: add support for VMX\n\nAdd support for Intel's Virtual Machine Extensions with nested paging.\n\nFixes #5128","shortMessageHtmlLink":"hw: add support for VMX"}},{"before":"18b26a2ca806a46363319986ba29973c738f6161","after":"cb7d0fdbd4024d784abb6970dd10e2fe46c7b209","ref":"refs/heads/5113-hw-generic-virtualization","pushedAt":"2024-05-14T17:08:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"Fixup: hw: generalize virtualization memory\n\nAdd improvements comment, fix indenting.\n\nIssue #5113","shortMessageHtmlLink":"Fixup: hw: generalize virtualization memory"}},{"before":"150c100b9053f6d16fd4e72f72aa71b7898c40b1","after":"18b26a2ca806a46363319986ba29973c738f6161","ref":"refs/heads/5113-hw-generic-virtualization","pushedAt":"2024-05-14T16:48:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"Fixup: hw: prepare SVM implementation for generic virtualization support\n\nClean up SVM exit codes and setting TRAP_VMEXIT.\n\nIssue #5113","shortMessageHtmlLink":"Fixup: hw: prepare SVM implementation for generic virtualization support"}},{"before":"54f39d3527ff374edeacc8a28fe5c0c770291a0f","after":"150c100b9053f6d16fd4e72f72aa71b7898c40b1","ref":"refs/heads/5113-hw-generic-virtualization","pushedAt":"2024-05-14T16:19:31.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"Fixup: hw: generic interface for x86 virtualization\n\nFix comment style.\n\nIssue #5113","shortMessageHtmlLink":"Fixup: hw: generic interface for x86 virtualization"}},{"before":"bb13574cf16bb774506d2fc902f7b7697f296fec","after":"465c92ffa151ac0bdd288a35ccfe039dc12c98b2","ref":"refs/heads/hw-new-page-table-wip","pushedAt":"2024-05-14T09:22:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"reverse alloc constructor","shortMessageHtmlLink":"reverse alloc constructor"}},{"before":"c5c78169f3e76d2f13b8f52b8e3cabac23e5202f","after":"5eb72a710a321b7f2acb51165f92df99a56ea22f","ref":"refs/heads/5210-tsc-frequency-cleanup","pushedAt":"2024-05-13T12:28:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"atopia","name":"Benjamin Lamowski","path":"/atopia","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1710873?s=80&v=4"},"commit":{"message":"hw: clean up Intel TSC frequency deduction\n\nThe initial algorithm ported to hw seems to be correct in principle,\nhowever it does not work with nested virtualization.\n\nClean up the code to make the different methods of obtaining the TSC\nfrequencies more clear, and add warnings if a particular\nmethod has failed although it should be available.\n\nFixes #5210","shortMessageHtmlLink":"hw: clean up Intel TSC frequency deduction"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEanqQtwA","startCursor":null,"endCursor":null}},"title":"Activity · atopia/genode"}