Skip to content
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

Do i386 CPUs push an error code for #AC (alignment check) interruptions? #354

Open
jboillot opened this issue Feb 16, 2024 · 0 comments
Open

Comments

@jboillot
Copy link

jboillot commented Feb 16, 2024

Hello,

I am new to working with OSes, so sorry in advance if my question is dumb.
While looking for examples of setup of IDTs I found out that Minix is considering that, for i386 cpu, the #AC interruption is not associated with an error code that is pushed on the stack:

EXCEPTION_NO_ERR_CODE(ALIGNMENT_CHECK_VECTOR)

However, both the IA-32 Manual (Section 6.3.1. Table 6-1), Linux https://github.com/torvalds/linux/blob/4f5e5092fdbf5cec6bedc19fbe69cce4f5f08372/arch/x86/kernel/traps.c#L293, and OSdev (https://wiki.osdev.org/Exceptions) agree on the fact that an error code is indeed pushed on the stack.
So, my question is: who is right? I guess it does not matter, but currently I can't find the reason why.
Would you have any idea of the reason?

Have a great day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant