{"push_id":1175787947,"size":3,"distinct_size":3,"ref":"refs/heads/dynamic-bat","head":"7835bbdeb86e383908f63e39d1bd2880e5e5789f","before":"53c93731a7f96e69893f823c8f69ec33140711ad","commits":[{"sha":"4042a9558d8cca0b545fa29a852f62f317cb9a29","author":{"name":"magumagu","email":"4995ee7c7aed20d655b6c47dda724c49f2f706e7@gmail.com"},"message":"JIT: fix handling of PC in dispatcher/block cache.\n\nSpecifically, don't make any assumptions about what effective addresses\nare used for code, and correctly handle changes to MSR.DR/MSR.IR.\n\n(Split off from dynamic-bat.)","distinct":true,"url":"https://api.github.com/repos/magumagu/dolphin/commits/4042a9558d8cca0b545fa29a852f62f317cb9a29"},{"sha":"68a8579e4c07ec0c13a16d5592487ef935c0ca3e","author":{"name":"magumagu","email":"4995ee7c7aed20d655b6c47dda724c49f2f706e7@gmail.com"},"message":"Handle TLB eviction in JitCache.\n\nMostly straightforward, although it's going to be a bit tricky to test.","distinct":true,"url":"https://api.github.com/repos/magumagu/dolphin/commits/68a8579e4c07ec0c13a16d5592487ef935c0ca3e"},{"sha":"7835bbdeb86e383908f63e39d1bd2880e5e5789f","author":{"name":"magumagu","email":"4995ee7c7aed20d655b6c47dda724c49f2f706e7@gmail.com"},"message":"Support for dynamic BAT modification (dynamic-bat).\n\nFundamentally, all this does is enforce the invariant that we always\ntranslate effective addresses based on the current BAT registers and\npage table before we do anything else with them.\n\nThis change can be logically divided into three parts.  The first part is\ncreating a table to represent the current BAT state, and keeping it up to\ndate (PowerPC::IBATUpdated, PowerPC::DBATUpdated, etc.).  This does\nnothing by itself, but it's necessary for the other parts.\n\nThe second part (mostly in MMU.cpp) is simply removing all the hardcoded\nchecks for specific untranslated addresses, and consistently translating\naddresses using the current BAT configuration. Very straightforward, but a\nlot of code changes because we hardcoded assumptions all over the place.\n\nThe third part (mostly in Memmap.cpp) is making the fastmem arena reflect\nthe current BAT configuration.  We do this by redoing the mapping (calling\nmemmap()) based on the BAT table whenever it changes.\n\nOne additional minor change is that translation can fail in two ways:\neither the segment is a direct store segment, or page table lookup failed.\nThe difference doesn't usually matter, but the difference affects cache\ninstructions, like dcbz.","distinct":true,"url":"https://api.github.com/repos/magumagu/dolphin/commits/7835bbdeb86e383908f63e39d1bd2880e5e5789f"}]}
{"actor":{"display_login":"magumagu"}}