Commit graph

13 commits

Author SHA1 Message Date
Fabian 74dca95e23 idle on hlt instruction 2022-01-30 19:02:39 -06:00
Fabian e981114dd7 Add missing acpi gpe registers to state 2020-12-31 19:14:33 -06:00
Fabian 81af0bc882 Fix pmtimer for Windows XP
The pmtimer clocks updates quickly, much more often than JavaScript's
time functions. Windows XP doesn't handle this properly, so a hack is
required to update the timer even if JavaScript's time hasn't changed
2020-07-21 20:10:14 -05:00
copy b3eceee135 ACPI GPE stubs 2017-06-05 10:11:53 -05:00
copy 74d2170d53 Fix restoring state 2017-04-29 13:22:17 -05:00
copy ff89ef09fb Add acpi PM timer 2017-04-29 13:22:17 -05:00
copy 243d3caa8e Minor 2016-07-18 04:37:12 +02:00
copy 33285fc520 improve pci logging 2016-01-01 17:49:21 +01:00
copy 91e0137dc7 Minor changes 2015-12-31 00:31:08 +01:00
copy 27ced06ac9 Some annotations 2015-02-25 18:21:54 +01:00
copy 5fd2a1bd35 Improved handling of IO port operations 2014-10-21 21:51:42 +02:00
copy 9c0ed5a6c2 Improve 32 bit memory mapped IO 2014-07-14 21:33:40 +02:00
copy 7a731ca061 Change CPU from closure to prototypical notation.
This change was necessary for several reasons:

- Code is much clearer and more modular
- The CPU object is now serializeable and therefore can be safed and
  restored
- A dynamic translator from instructions to (optimized) JavaScript is
  planned. It would use `new Function` to create functions at runtime.
  Functions created this way don't have access to any scope (except for
  the global scope) and therefore were not have been able to modify
  registers, etc. This is now possible through the cpu object
- Possibly, but not necessarily a speedgain can be achieved.
  See http://mrale.ph/blog/2012/09/23/grokking-v8-closures-for-fun.html

Additionally, some code was moved around.
2014-06-15 22:25:17 +02:00