-
-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix push
, pop
, smsw
, lmsw
; implement lss
, lfs
, lgs
#133
Conversation
smsw
& lmsw
instructions; implement lss
, lfs
, lgs
push
, pop
, smsw
, lmsw
; implement lss
, lfs
, lgs
The stack address size (whether to use %sp, %esp, or %rsp) is fixed by the segment descriptors in effect; & cannot be altered by 0x66 or 0x67 prefixes. Thus it is more correct to use Mode(rde) (versus Eamode(rde)) to compute the stack address size.
Hello @tkchia, Nice work! I'm wondering how you're finding these bugs - in particular, the latest finding that an address size prefix is ignored on It looks like most of these changes are working towards getting much more of the protected mode emulation implemented? Thank you! |
Hello @ghaerr, Actually I spotted the The single-stepping code is mostly working now (https://github.com/tkchia/blink/commit/efef93ce28baa47850b63f6e67c613bd0e10147a), but I probably need to test it further and resolve any remaining loose ends. Incidentally, the Second Reality code also quite directly triggered the bug in the
That is something I hope Blink can achieve some time, if space allows (?). One big chunk of functionality that protected mode OSes — e.g. Coherent, Xenix — seem to want, is support for 16-/32-bit task state segments ( Thank you! |
Hello @ghaerr, Also, from what I understand, actually the address size prefix is not exactly ignored on Thank you! |
Do confirm if this is OK to merge. Thank you! |
Hello @tkchia, LGTM. Are there test cases for testing the difference between Thank you! |
Hello @ghaerr,
Thanks! I do not think there are any such test cases yet, but these should not be too hard to come up with. In this PR, I am already extending an existing test program Thank you! |
No description provided.