<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/common/page_table.cpp, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-09-09T19:35:49+00:00</updated>
<entry>
<title>[common/core/dynarmic] Optimize page table allocations (#4219)</title>
<updated>2026-09-09T19:35:49+00:00</updated>
<author>
<name>Exverge</name>
<email>exverge@exverge.xyz</email>
</author>
<published>2026-09-09T19:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=5f142c7926d0c7fcbbd0ce30794d72f638a43b2a'/>
<id>urn:sha1:5f142c7926d0c7fcbbd0ce30794d72f638a43b2a</id>
<content type='text'>
Reduces the page entries from 32 bytes to 8 and rewrites `VirtualBuffer` to be more efficient in memory usage and specifically for large zero regions.

The page table will now only reserve 1GiB instead of 4GiB and of this memory it should only use at most ~8MiB.

This PR has the side effect of using Eden on Windows on low memory systems much more plausible since it would previously require ~10GiB of committable memory at front (despite using ~5-6 at most, inadvertently stalling other processes) where as now it should only require around the amount that it'll actually use.

Co-authored-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4219
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Reviewed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
</content>
</entry>
<entry>
<title>[dynarmic, common] pagetable clustering (#3215)</title>
<updated>2026-01-12T23:27:31+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-01-12T23:27:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=dceeccd04bb11bf4f719a7d403f43f6ebf153f49'/>
<id>urn:sha1:dceeccd04bb11bf4f719a7d403f43f6ebf153f49</id>
<content type='text'>
Raises the size of each page entry to 32 bytes, however, it merges them into a single structure
THEORETICALLY this is better since the access pattern observed corresponds to the program wanting backing_addr/pointers/blocks immediately after one another.
This may improve performance at the cost of some extra memory.
Another implementation would be to structure only backing_addr/blocks within the same virtual buffer.
Alas spamming virtual buffers is evil since each of them is a cache trasher (imagine jumping from wildly different block to wildly different block immediately).

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3215
Reviewed-by: DraVee &lt;dravee@eden-emu.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>scope_exit: Make constexpr</title>
<updated>2024-02-19T15:00:46+00:00</updated>
<author>
<name>FearlessTobi</name>
<email>thm.frey@gmail.com</email>
</author>
<published>2024-02-19T15:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=4d55e58ee4d99fbd7a2d6973f21b9c0e61c0f137'/>
<id>urn:sha1:4d55e58ee4d99fbd7a2d6973f21b9c0e61c0f137</id>
<content type='text'>
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
</content>
</entry>
<entry>
<title>kernel: fix page leak on process termination</title>
<updated>2024-01-12T23:31:33+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-07T18:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=12fe8c5b76d34269e45bef13124dfa2e77316b4c'/>
<id>urn:sha1:12fe8c5b76d34269e45bef13124dfa2e77316b4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>kernel: add KPageTableBase</title>
<updated>2023-11-10T17:01:35+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-10-23T01:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=713f292a25a98901694370708a01aa17cfd26c54'/>
<id>urn:sha1:713f292a25a98901694370708a01aa17cfd26c54</id>
<content type='text'>
Co-authored-by: Kelebek1 &lt;eeeedddccc@hotmail.co.uk&gt;
</content>
</entry>
<entry>
<title>Use spans over guest memory where possible instead of copying data.</title>
<updated>2023-07-02T22:09:48+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-05-28T23:35:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=42638691b541a29e0362c8aba6da3e2e873457c2'/>
<id>urn:sha1:42638691b541a29e0362c8aba6da3e2e873457c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>general: Convert source file copyright comments over to SPDX</title>
<updated>2022-04-23T09:55:32+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-04-23T08:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2b87305d319f0bd04da36fb96314934f37b12637'/>
<id>urn:sha1:2b87305d319f0bd04da36fb96314934f37b12637</id>
<content type='text'>
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
</content>
</entry>
<entry>
<title>fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.</title>
<updated>2022-02-19T08:14:27+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2022-02-19T08:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=e1af26d5b3c1fef8c9792f3d3e8802b87b57bd8b'/>
<id>urn:sha1:e1af26d5b3c1fef8c9792f3d3e8802b87b57bd8b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.</title>
<updated>2022-02-19T07:42:27+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2022-02-19T07:42:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=6075031e992c25e461a1dced528a0278fc1e04ba'/>
<id>urn:sha1:6075031e992c25e461a1dced528a0278fc1e04ba</id>
<content type='text'>
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
</content>
</entry>
<entry>
<title>core/memory: Check our memory fallbacks for out-of-bound behavior.</title>
<updated>2021-05-29T07:28:26+00:00</updated>
<author>
<name>Markus Wick</name>
<email>markus@selfnet.de</email>
</author>
<published>2021-05-29T07:24:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=870505def830358d8b2d74ed44a114e8fb1392b5'/>
<id>urn:sha1:870505def830358d8b2d74ed44a114e8fb1392b5</id>
<content type='text'>
This makes it by far harder to crash yuzu.

Also implement the 48bit masking of AARCH64 while touching this code.
</content>
</entry>
</feed>
