{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":97989275,"defaultBranch":"theseus_main","name":"Theseus","ownerLogin":"theseus-os","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-07-21T21:52:39.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/42755277?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1702612320.0","currentOid":""},"activityList":{"items":[{"before":"9c9f08fe8da358ca67b24572d51239a71aea0395","after":"b649fba78a7e8468ada7e12d0604c3e4a5bec0cd","ref":"refs/heads/github_pages","pushedAt":"2024-01-04T12:38:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Remove unnecessary clones when piping commands in `hull` (#1089)\n\n* Commands can take ownership of `previous_output` as they then overwrite it anyway.\n\n* The final command can take ownership of all streams.\n\n---------\n\nCo-authored-by: Poxxy <41162160+Poxxy@users.noreply.github.com>\nCo-authored-by: Klim Tsoutsman ffb5e8b360fff655767b5ed13e6122db9a583857","shortMessageHtmlLink":"Remove unnecessary clones when piping commands in hull (#1089)"}},{"before":"813015bed3665a9262b29bfbf4c51f94b1754d98","after":"ffb5e8b360fff655767b5ed13e6122db9a583857","ref":"refs/heads/theseus_main","pushedAt":"2024-01-04T12:37:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tsoutsman","name":"Klim Tsoutsman","path":"/tsoutsman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32662194?s=80&v=4"},"commit":{"message":"Remove unnecessary clones when piping commands in `hull` (#1089)\n\n* Commands can take ownership of `previous_output` as they then overwrite it anyway.\r\n\r\n* The final command can take ownership of all streams.\r\n\r\n---------\r\n\r\nCo-authored-by: Poxxy <41162160+Poxxy@users.noreply.github.com>\r\nCo-authored-by: Klim Tsoutsman ","shortMessageHtmlLink":"Remove unnecessary clones when piping commands in hull (#1089)"}},{"before":"8021f3b846307fbeaa888dccbaa06a0879a2fd0e","after":"9c9f08fe8da358ca67b24572d51239a71aea0395","ref":"refs/heads/github_pages","pushedAt":"2023-12-23T18:56:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Makefile: don't hardcode the path for `bash` (#1086)\n\nSome systems (e.g., NixOS) don't have `/bin/bash`,\nso use the `env` utility to locate `bash` instead. 813015bed3665a9262b29bfbf4c51f94b1754d98","shortMessageHtmlLink":"Makefile: don't hardcode the path for bash (#1086)"}},{"before":"ac5712c84c543773e9e2e72755d775cdb3c091a5","after":"813015bed3665a9262b29bfbf4c51f94b1754d98","ref":"refs/heads/theseus_main","pushedAt":"2023-12-23T18:54:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Makefile: don't hardcode the path for `bash` (#1086)\n\nSome systems (e.g., NixOS) don't have `/bin/bash`,\r\nso use the `env` utility to locate `bash` instead.","shortMessageHtmlLink":"Makefile: don't hardcode the path for bash (#1086)"}},{"before":"7d864a9aa3d71f9a6d9a606a4009dcd8e57a8db2","after":"8021f3b846307fbeaa888dccbaa06a0879a2fd0e","ref":"refs/heads/github_pages","pushedAt":"2023-12-22T20:31:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Restructure init of PCI legacy interrupts (INTx); add `lspci` app (#1081)\n\n* INTX interrupt handler registration for PCI devices is now done\n lazily on both architectures.\n * On aarch64, the interrupt numbers are known statically.\n * On x86_64, we expect that the driver or module using the\n PCI device knows which interrupt number to use.\n Technically this information can be discovered through ACPI AML,\n but we do not yet support that because it is tedious and difficult.\n\n* Clarify PCI interrupt information functions, e.g., MSI/MSI-x support, etc.\n\nCo-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com> ac5712c84c543773e9e2e72755d775cdb3c091a5","shortMessageHtmlLink":"Restructure init of PCI legacy interrupts (INTx); add lspci app (#1081"}},{"before":"e06c84a3087e73f888abccdf459249f2e3655eec","after":"ac5712c84c543773e9e2e72755d775cdb3c091a5","ref":"refs/heads/theseus_main","pushedAt":"2023-12-22T20:29:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Restructure init of PCI legacy interrupts (INTx); add `lspci` app (#1081)\n\n* INTX interrupt handler registration for PCI devices is now done\r\n lazily on both architectures. \r\n * On aarch64, the interrupt numbers are known statically.\r\n * On x86_64, we expect that the driver or module using the\r\n PCI device knows which interrupt number to use.\r\n Technically this information can be discovered through ACPI AML,\r\n but we do not yet support that because it is tedious and difficult.\r\n\r\n* Clarify PCI interrupt information functions, e.g., MSI/MSI-x support, etc.\r\n\r\nCo-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>","shortMessageHtmlLink":"Restructure init of PCI legacy interrupts (INTx); add lspci app (#1081"}},{"before":null,"after":"6f21c1a88dd8c0fcf1d446df0d3a25fd2acdb773","ref":"refs/heads/dependabot/cargo/tlibc/zerocopy-0.5.2","pushedAt":"2023-12-15T03:52:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump zerocopy from 0.5.0 to 0.5.2 in /tlibc\n\nBumps [zerocopy](https://github.com/google/zerocopy) from 0.5.0 to 0.5.2.\n- [Release notes](https://github.com/google/zerocopy/releases)\n- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/google/zerocopy/commits)\n\n---\nupdated-dependencies:\n- dependency-name: zerocopy\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump zerocopy from 0.5.0 to 0.5.2 in /tlibc"}},{"before":null,"after":"6d27166c65259e12422584c1f3d8d6a60c005b31","ref":"refs/heads/dependabot/cargo/libtheseus/zerocopy-0.5.2","pushedAt":"2023-12-15T03:49:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump zerocopy from 0.5.0 to 0.5.2 in /libtheseus\n\nBumps [zerocopy](https://github.com/google/zerocopy) from 0.5.0 to 0.5.2.\n- [Release notes](https://github.com/google/zerocopy/releases)\n- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/google/zerocopy/commits)\n\n---\nupdated-dependencies:\n- dependency-name: zerocopy\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump zerocopy from 0.5.0 to 0.5.2 in /libtheseus"}},{"before":"52028992d8ec2992f01cfdbd777dab42243023a0","after":"7d864a9aa3d71f9a6d9a606a4009dcd8e57a8db2","ref":"refs/heads/github_pages","pushedAt":"2023-12-13T06:22:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Allow init to proceed without PS/2 keyboard or mouse (#1082)\n\n* If a PS/2 controller exists, but no keyboard or mouse is plugged in,\n `reset`ting those devices fails.\n* This PR handles that situation gracefully by logging an error\n and allowing initialization to continue without them. e06c84a3087e73f888abccdf459249f2e3655eec","shortMessageHtmlLink":"Allow init to proceed without PS/2 keyboard or mouse (#1082)"}},{"before":"1e2c7df1dc3c414160523f84a92454df0f1b8e86","after":"e06c84a3087e73f888abccdf459249f2e3655eec","ref":"refs/heads/theseus_main","pushedAt":"2023-12-13T06:20:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Allow init to proceed without PS/2 keyboard or mouse (#1082)\n\n* If a PS/2 controller exists, but no keyboard or mouse is plugged in,\r\n `reset`ting those devices fails.\r\n* This PR handles that situation gracefully by logging an error\r\n and allowing initialization to continue without them.","shortMessageHtmlLink":"Allow init to proceed without PS/2 keyboard or mouse (#1082)"}},{"before":"438a9b5de335b3308447657348b4a223f96043e5","after":"52028992d8ec2992f01cfdbd777dab42243023a0","ref":"refs/heads/github_pages","pushedAt":"2023-12-12T08:48:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"aarch64: support PCI INTx legacy interrupts USB (#1071)\n\n* Set up a default handler for legacy PCI interrupts (e.g., on PIN A, B, C, D);\n their handler wakes up a waker (task) that was previously bound to the\n `PciDevice` that received the interrupt.\n\n* Only aarch64 is supported at the moment.\n\n* This PR is needed to support USB interrupt handling.\n\nCo-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com> 1e2c7df1dc3c414160523f84a92454df0f1b8e86","shortMessageHtmlLink":"aarch64: support PCI INTx legacy interrupts USB (#1071)"}},{"before":"3a678a9dde238db3e1b758c77085a43b9a7a814a","after":"1e2c7df1dc3c414160523f84a92454df0f1b8e86","ref":"refs/heads/theseus_main","pushedAt":"2023-12-12T08:47:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"aarch64: support PCI INTx legacy interrupts USB (#1071)\n\n* Set up a default handler for legacy PCI interrupts (e.g., on PIN A, B, C, D);\r\n their handler wakes up a waker (task) that was previously bound to the\r\n `PciDevice` that received the interrupt.\r\n\r\n* Only aarch64 is supported at the moment.\r\n\r\n* This PR is needed to support USB interrupt handling.\r\n\r\nCo-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>","shortMessageHtmlLink":"aarch64: support PCI INTx legacy interrupts USB (#1071)"}},{"before":"95d45e9f6d67ba1f5a6ba64d3bf3026eb4760c3c","after":"438a9b5de335b3308447657348b4a223f96043e5","ref":"refs/heads/github_pages","pushedAt":"2023-12-12T08:02:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"`chdir`: handle paths with multiple components (#1080)\n\n* Adds support for changing multiple levels of directories at once,\n e.g., `cd ./task/2`.\n\n* Also, since `components()` normalizes the trailing slash,\n this fixes the bug which prevented changing into a directory\n followed by a trailing slash, e.g., `cd namespaces/`.\n\n* This is indicative of the larger issue that each `FsNode` implementation\n needs its own path parsing algorithm. For example, the command\n `cd task && cd ..` does not work because `TaskFs` doesn't support\n the notion of a parent directory (`..`). A fix for this is coming soon.\n\nSigned-off-by: Klimenty Tsoutsman 3a678a9dde238db3e1b758c77085a43b9a7a814a","shortMessageHtmlLink":"chdir: handle paths with multiple components (#1080)"}},{"before":"92295d721ffa68ca0af9ed595fc1a0582f454d82","after":"3a678a9dde238db3e1b758c77085a43b9a7a814a","ref":"refs/heads/theseus_main","pushedAt":"2023-12-12T08:00:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"`chdir`: handle paths with multiple components (#1080)\n\n* Adds support for changing multiple levels of directories at once,\r\n e.g., `cd ./task/2`.\r\n\r\n* Also, since `components()` normalizes the trailing slash,\r\n this fixes the bug which prevented changing into a directory\r\n followed by a trailing slash, e.g., `cd namespaces/`.\r\n\r\n* This is indicative of the larger issue that each `FsNode` implementation\r\n needs its own path parsing algorithm. For example, the command\r\n `cd task && cd ..` does not work because `TaskFs` doesn't support\r\n the notion of a parent directory (`..`). A fix for this is coming soon.\r\n\r\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"chdir: handle paths with multiple components (#1080)"}},{"before":"9fe8ca13dedb167137a0e61b9419f9bb0c67c9aa","after":"95d45e9f6d67ba1f5a6ba64d3bf3026eb4760c3c","ref":"refs/heads/github_pages","pushedAt":"2023-12-05T05:12:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Rename `async_channel` to `sync_channel` (#1078)\n\nThe previous `async_channel` was asynchronous in the sense\nthat it had an internal buffer that allowed a sender and receiver\nto not have to synchronously rendezvous in order to exchange\na message/data. However, it was not asynchronous in the sense\nof language-level async/await, so the naming would be confusing.\n\nWe rename that channel implementation to `sync_channel`,\nwhich is more accurate in the sense that Senders and Receivers\ninteract with it synchronously (not using async/await), which means\nthe current task may be blocked when waiting on a send or receive\noperation.\n\nThis is in preparation for an upcoming PR that will introduce a channel\nthat supports language-level async/await syntax.\n\nSigned-off-by: Klimenty Tsoutsman 92295d721ffa68ca0af9ed595fc1a0582f454d82","shortMessageHtmlLink":"Rename async_channel to sync_channel (#1078)"}},{"before":"f2fe78a64e767f04f3abdac3b9682db927fdab8c","after":"92295d721ffa68ca0af9ed595fc1a0582f454d82","ref":"refs/heads/theseus_main","pushedAt":"2023-12-05T05:10:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Rename `async_channel` to `sync_channel` (#1078)\n\nThe previous `async_channel` was asynchronous in the sense\r\nthat it had an internal buffer that allowed a sender and receiver\r\nto not have to synchronously rendezvous in order to exchange\r\na message/data. However, it was not asynchronous in the sense\r\nof language-level async/await, so the naming would be confusing. \r\n\r\nWe rename that channel implementation to `sync_channel`, \r\nwhich is more accurate in the sense that Senders and Receivers \r\ninteract with it synchronously (not using async/await), which means\r\nthe current task may be blocked when waiting on a send or receive \r\noperation. \r\n\r\nThis is in preparation for an upcoming PR that will introduce a channel\r\nthat supports language-level async/await syntax. \r\n\r\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"Rename async_channel to sync_channel (#1078)"}},{"before":"27b56308ae3126622482f6c557ca66d15fd6e90c","after":"9fe8ca13dedb167137a0e61b9419f9bb0c67c9aa","ref":"refs/heads/github_pages","pushedAt":"2023-12-05T05:03:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Increase PS/2 timeouts for reset (#1079)\n\nThe previous arbitrary timeout value works in QEMU,\nbut does not work on a Dell Optiplex 9020.\n\nWith the new higher timeout values, Theseus successfully boots\nwith a Cherry and a HP keyboard and two Logitech mice,\nthough the devices still do not seem to function correctly. f2fe78a64e767f04f3abdac3b9682db927fdab8c","shortMessageHtmlLink":"Increase PS/2 timeouts for reset (#1079)"}},{"before":"3f339e1a7fe2e852d6978315d1a8b93b8f81bb9f","after":"f2fe78a64e767f04f3abdac3b9682db927fdab8c","ref":"refs/heads/theseus_main","pushedAt":"2023-12-05T05:01:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Increase PS/2 timeouts for reset (#1079)\n\nThe previous arbitrary timeout value works in QEMU,\r\nbut does not work on a Dell Optiplex 9020.\r\n\r\nWith the new higher timeout values, Theseus successfully boots \r\nwith a Cherry and a HP keyboard and two Logitech mice,\r\nthough the devices still do not seem to function correctly.","shortMessageHtmlLink":"Increase PS/2 timeouts for reset (#1079)"}},{"before":null,"after":"d333d4b37f482c1fe0e78bdb2a2fc93d7eb13aa8","ref":"refs/heads/update-docker","pushedAt":"2023-11-23T02:08:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tsoutsman","name":"Klim Tsoutsman","path":"/tsoutsman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32662194?s=80&v=4"},"commit":{"message":"Update docker image to 22.04\n\nAlso replaces the obsolete `grub-pc-bin` package with `grub-common`.\n\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"Update docker image to 22.04"}},{"before":"6be21f303299012682167dc0edfcdca23ae115d1","after":null,"ref":"refs/heads/mac_os_build_instructions","pushedAt":"2023-11-21T22:38:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"}},{"before":"562a39cf6c662738f7718473f6bbc010970dce53","after":"3f339e1a7fe2e852d6978315d1a8b93b8f81bb9f","ref":"refs/heads/theseus_main","pushedAt":"2023-11-21T22:38:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Clarify MacOS build instructions (#1077)\n\nApparently Intel-based Macs also need `gmake`, not `make`;\r\nthis is not specific to Apple silicon-based Macs (e.g., M1).","shortMessageHtmlLink":"Clarify MacOS build instructions (#1077)"}},{"before":null,"after":"6be21f303299012682167dc0edfcdca23ae115d1","ref":"refs/heads/mac_os_build_instructions","pushedAt":"2023-11-21T22:31:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Clarify MacOS build instructions","shortMessageHtmlLink":"Clarify MacOS build instructions"}},{"before":"af51e78477ec87f9552b51ccb976ff9ef0071ee9","after":"562a39cf6c662738f7718473f6bbc010970dce53","ref":"refs/heads/theseus_main","pushedAt":"2023-11-15T06:40:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Remove old irrelevant items from `Cargo.toml` (#1075)\n\nSome editors may complain about non-existent directories.\r\n\r\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"Remove old irrelevant items from Cargo.toml (#1075)"}},{"before":"029b538523dd02f0a4d4efe574d412c88a4d4157","after":"af51e78477ec87f9552b51ccb976ff9ef0071ee9","ref":"refs/heads/theseus_main","pushedAt":"2023-11-15T03:44:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Add `.DS_Store` files to `.gitignore` (#1074)\n\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"Add .DS_Store files to .gitignore (#1074)"}},{"before":"932e95235674098fd2e1afed1a916a41169fdc4a","after":"27b56308ae3126622482f6c557ca66d15fd6e90c","ref":"refs/heads/github_pages","pushedAt":"2023-11-08T21:19:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Parameterize `AllocatedPages` with `P: PageSize` (#1072)\n\n* This is another small step in the effort to support huge pages.\n\n* 4K-sized pages are always the default, so no other code has to change yet.\n\n* We always specify `

` or `` parameters even when not needed,\n just for the sake of explicit clarity.\n * Just like the frame allocator, the page allocator only deals with 4K-sized\n page chunks. Huge pages can be obtained by attempting to convert\n a range of 4K-sized pages into a range of huge 2M or 1G sized pages. 029b538523dd02f0a4d4efe574d412c88a4d4157","shortMessageHtmlLink":"Parameterize AllocatedPages with P: PageSize (#1072)"}},{"before":"8883597de78ebd59359971724497852b8f79dba3","after":"029b538523dd02f0a4d4efe574d412c88a4d4157","ref":"refs/heads/theseus_main","pushedAt":"2023-11-08T21:17:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Parameterize `AllocatedPages` with `P: PageSize` (#1072)\n\n* This is another small step in the effort to support huge pages.\r\n\r\n* 4K-sized pages are always the default, so no other code has to change yet.\r\n\r\n* We always specify `

` or `` parameters even when not needed,\r\n just for the sake of explicit clarity.\r\n * Just like the frame allocator, the page allocator only deals with 4K-sized\r\n page chunks. Huge pages can be obtained by attempting to convert\r\n a range of 4K-sized pages into a range of huge 2M or 1G sized pages.","shortMessageHtmlLink":"Parameterize AllocatedPages with P: PageSize (#1072)"}},{"before":"2986b30694884dc56db1c123869f4348b2f4124e","after":"932e95235674098fd2e1afed1a916a41169fdc4a","ref":"refs/heads/github_pages","pushedAt":"2023-11-08T01:16:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Parameterize `Frames` (`AllocatedFrames`) with `` (#1070)\n\n* This is another step towards huge pages support.\n * The next step is to parameterize `AllocatedPages` too,\n and then support varying `PageSize`s within `MappedPages`.\n * Then, we will add simple routines to convert a 4K-sized\n `AllocatedPages`/`Frames` into 2M or 1G sized chunks,\n which keeps the allocation routines simpler because they only\n have to deal with 4k-sized chunks of pages or frames.\n\n* This design enables only the `mapper` module and the\n related implementation of `MappedPages` to contain most of the\n complexity around handling multiple page sizes.\n * This is a better design choice than #1064, which attempts to\n contain that complexity within `AllocatedPages`/`Frames`,\n because that design still requires complexity within `mapper`. 8883597de78ebd59359971724497852b8f79dba3","shortMessageHtmlLink":"Parameterize Frames (AllocatedFrames) with <P: PageSize> (#1070)"}},{"before":"bafc2e8de64417bd6155d81a41e66c9a3fcdda30","after":"8883597de78ebd59359971724497852b8f79dba3","ref":"refs/heads/theseus_main","pushedAt":"2023-11-08T01:13:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"Parameterize `Frames` (`AllocatedFrames`) with `` (#1070)\n\n* This is another step towards huge pages support.\r\n * The next step is to parameterize `AllocatedPages` too,\r\n and then support varying `PageSize`s within `MappedPages`.\r\n * Then, we will add simple routines to convert a 4K-sized\r\n `AllocatedPages`/`Frames` into 2M or 1G sized chunks,\r\n which keeps the allocation routines simpler because they only\r\n have to deal with 4k-sized chunks of pages or frames.\r\n\r\n* This design enables only the `mapper` module and the\r\n related implementation of `MappedPages` to contain most of the\r\n complexity around handling multiple page sizes.\r\n * This is a better design choice than #1064, which attempts to\r\n contain that complexity within `AllocatedPages`/`Frames`,\r\n because that design still requires complexity within `mapper`.","shortMessageHtmlLink":"Parameterize Frames (AllocatedFrames) with <P: PageSize> (#1070)"}},{"before":"4dc08ffca1dc3159c66c8b0db8cc95550713b697","after":"2986b30694884dc56db1c123869f4348b2f4124e","ref":"refs/heads/github_pages","pushedAt":"2023-10-30T23:03:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"`heap`: fix bug dealing with large allocations (#1067)\n\nThe implementation of `GlobalAlloc` for `Heap` assumed that all memory\nunder `INITIAL_HEAP_END_ADDR` was allocated using the initial allocator,\nbut this isn't true.\n\n`MultipleHeaps` allocates large objects using mapped pages leading to\nobjects allocated in the lower half of memory. When deallocating these\nobjects, `Heap` tried to deallocate them using the initial allocator\nrather than `MultipleHeaps`.\n\nSigned-off-by: Klimenty Tsoutsman bafc2e8de64417bd6155d81a41e66c9a3fcdda30","shortMessageHtmlLink":"heap: fix bug dealing with large allocations (#1067)"}},{"before":"7ee342ebfd6b427d7bfeeb7f75d6960cf312388d","after":"bafc2e8de64417bd6155d81a41e66c9a3fcdda30","ref":"refs/heads/theseus_main","pushedAt":"2023-10-30T23:01:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kevinaboos","name":"Kevin Boos","path":"/kevinaboos","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1139460?s=80&v=4"},"commit":{"message":"`heap`: fix bug dealing with large allocations (#1067)\n\nThe implementation of `GlobalAlloc` for `Heap` assumed that all memory\r\nunder `INITIAL_HEAP_END_ADDR` was allocated using the initial allocator,\r\nbut this isn't true.\r\n\r\n`MultipleHeaps` allocates large objects using mapped pages leading to\r\nobjects allocated in the lower half of memory. When deallocating these\r\nobjects, `Heap` tried to deallocate them using the initial allocator\r\nrather than `MultipleHeaps`.\r\n\r\nSigned-off-by: Klimenty Tsoutsman ","shortMessageHtmlLink":"heap: fix bug dealing with large allocations (#1067)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD162tKAA","startCursor":null,"endCursor":null}},"title":"Activity ยท theseus-os/Theseus"}