Ben Vanik
6777ce6668
Reconcile debugger and save state stuff into a single implementation.
...
Fixes #497 and fixes #496 .
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Dr. Chat
666f5543a8
Cleanup ThreadState and XThread
2015-12-29 12:32:46 -08:00
Ben Vanik
15816327b4
Renaming xe::cpu::frontend to xe::cpu::ppc.
2015-12-14 21:17:55 -08:00
Ben Vanik
3c96b6fa0a
DANGER DANGER. Switching to global critical region.
...
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik
f5e374f9b5
Changing the way the global lock works. Some things are better, I think.
...
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik
a86b3821f2
Adding thread handle to logging.
2015-08-29 20:49:26 -07:00
Ben Vanik
ab04175aad
Abstracting aligned alloc/free.
2015-08-28 14:27:44 -07:00
Ben Vanik
a668556d7f
Fixing Windows build.
2015-08-18 14:45:49 -07:00
Ben Vanik
8b0d4fb51c
Linux tweaks.
2015-08-18 14:18:00 -07:00
Ben Vanik
c0dcf83de8
Cleanup heap use.
2015-07-29 20:33:59 -07:00
Ben Vanik
c67173fe36
Switching to real page sizes, not allocation granularity.
2015-07-29 20:28:06 -07:00
Ben Vanik
7ecc6362de
Debugger stuff. Lots of wasted work :/
2015-07-26 22:47:16 -07:00
Ben Vanik
91d7acf59e
Fixing some particularly bad /W4.
2015-07-18 23:04:21 -07:00
Ben Vanik
58c3a1ba79
VirtualProtect platform abstraction.
2015-07-15 18:20:05 -07:00
Ben Vanik
5ca8caa9a7
Allowing thread stacks from the entire 0x4-0x7 range.
2015-06-28 14:34:11 -07:00
Drew DeVault
a064ba053e
Add missing includes for cstring
2015-06-16 23:16:18 -06:00
Ben Vanik
52b8f4b54b
Removing memory reservation value check for load/store.
2015-06-07 21:57:44 -07:00
Ben Vanik
148c40554b
Adding vmsum4fp128 test.
2015-05-25 12:28:32 -07:00
Ben Vanik
92f5fe3b88
Changing page_size to allocation granularity.
2015-05-18 20:47:40 -07:00
Ben Vanik
7796f5cb60
Fixing page guards to work at system page granularity.
2015-05-18 20:25:15 -07:00
Ben Vanik
3f7da258fc
Adjusting stack padding on executes.
2015-05-17 13:35:12 -07:00
Ben Vanik
b44a7a7730
Allocating stacks in the right place.
2015-05-17 13:10:02 -07:00
Ben Vanik
37804d692c
Fixing stack allocation alignment.
2015-05-17 10:17:32 -07:00
Ben Vanik
da630cc159
Starting to clean up thread state.
2015-05-16 16:34:14 -07:00
Ben Vanik
147a70b9c1
Rewriting memory manager.
2015-05-17 00:16:56 +01:00
gibbed
a3621fd11b
Experimental stack allocation.
2015-05-14 10:12:33 -05:00
Ben Vanik
499bed21c0
Moving debugger.
2015-05-05 18:52:53 -07:00
Ben Vanik
78921c1a7e
Merging Runtime into Processor.
2015-05-03 22:28:25 -07:00
Ben Vanik
4c8f3501ad
Removing xdb and old tracing code before rewrite.
2015-05-03 22:01:31 -07:00
Ben Vanik
e3220f7ae6
Code cleanup: moving poly/ into xenia/base/
2015-05-02 03:42:51 -07:00
Ben Vanik
99816056be
Code cleanup: removing poly.h
2015-05-02 02:29:26 -07:00
Ben Vanik
ec84a688e9
Starting to properly attribute virtual vs. physical memory accesses.
2015-03-29 11:11:35 -07:00
Ben Vanik
3a197705bb
Special memory functions for system allocs.
2015-03-28 15:54:44 -07:00
Ben Vanik
281abea955
Converting addresses in xe::cpu to 32bit.
2015-03-24 19:41:29 -07:00
Ben Vanik
3279776a80
Moving cpu/frontend/ppc/ to cpu/frontend/.
2015-03-24 08:37:00 -07:00
Ben Vanik
9281d62106
Moving cpu/runtime/ to cpu/.
2015-03-24 08:25:58 -07:00
Ben Vanik
fdb6a5cfa3
Initial Alloy implementation.
...
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
Ben Vanik
b7ffd46319
Massive refactoring of all code + audio skeleton.
...
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00
Ben Vanik
d9a55a5557
Zero memory on alloc.
2013-10-22 21:50:10 -07:00
Ben Vanik
90bc6ad1a8
Interrupts fire on the right 'thread', ringbuffer work,
2013-10-19 11:50:01 -07:00
Ben Vanik
6f602d120a
Adding thread ID to trace lines and cleaning up their formatting.
2013-06-30 06:09:08 -07:00
Rick Gibbed
edf3a9155b
The stack address needs to start at the end of the allocated memory for the stack, not the beginning.
2013-05-31 20:55:52 -07:00
Ben Vanik
88431eadce
Screw convention; moving include files alongside source files.
...
They now will show up in xcode/etc.
2013-02-06 02:19:50 -08:00