mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:27:45 +00:00
Kernel: Add exception_code to RegisterDump.
Added the exception_code field to RegisterDump, removing the need for RegisterDumpWithExceptionCode. To accomplish this, I had to push a dummy exception code during some interrupt entries to properly pad out the RegisterDump. Note that we also needed to change some code in sys$sigreturn to deal with the new RegisterDump layout.
This commit is contained in:
parent
334e039294
commit
7fc903b97a
6 changed files with 23 additions and 38 deletions
|
@ -333,29 +333,6 @@ private:
|
|||
};
|
||||
|
||||
struct [[gnu::packed]] RegisterDump
|
||||
{
|
||||
u16 ss;
|
||||
u16 gs;
|
||||
u16 fs;
|
||||
u16 es;
|
||||
u16 ds;
|
||||
u32 edi;
|
||||
u32 esi;
|
||||
u32 ebp;
|
||||
u32 esp;
|
||||
u32 ebx;
|
||||
u32 edx;
|
||||
u32 ecx;
|
||||
u32 eax;
|
||||
u32 eip;
|
||||
u16 cs;
|
||||
u16 __csPadding;
|
||||
u32 eflags;
|
||||
u32 esp_if_crossRing;
|
||||
u16 ss_if_crossRing;
|
||||
};
|
||||
|
||||
struct [[gnu::packed]] RegisterDumpWithExceptionCode
|
||||
{
|
||||
u16 ss;
|
||||
u16 gs;
|
||||
|
@ -380,6 +357,7 @@ struct [[gnu::packed]] RegisterDumpWithExceptionCode
|
|||
u16 ss_if_crossRing;
|
||||
};
|
||||
|
||||
|
||||
struct [[gnu::aligned(16)]] FPUState
|
||||
{
|
||||
u8 buffer[512];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue