[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mach branch, master, updated. v1.8-668-gaaa33bd1
From: |
Samuel Thibault |
Subject: |
[SCM] GNU Mach branch, master, updated. v1.8-668-gaaa33bd1 |
Date: |
Fri, 4 Aug 2023 17:50:53 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".
The branch, master has been updated
via aaa33bd1ef300380279d9e2875b61a7abaf2c88d (commit)
via 55c6c03da81908fdf7de113e1b3c6efa758e82e7 (commit)
via 0440b2aee5586daa986dc9322f4484266d09fb64 (commit)
via 1d36430ead5d10508a3e1136cd1258ba534c3243 (commit)
via e2e78b6c461543e1d057a63eaa3d43d71ba0f3f8 (commit)
from 8b29b18fda413928c32473475ca51aa05c52db18 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit aaa33bd1ef300380279d9e2875b61a7abaf2c88d
Author: Luca Dariz <luca@orpolo.org>
Date: Sat Jul 29 19:47:53 2023 +0200
x86_64: remove unneeded segment selectors handling on full 64 bit
* i386/i386/db_interface.c: don't set unused segment selectors on full
64-bit
* i386/i386/db_trace.c: likewise.
* i386/i386/i386asm.sym: likewise.
* i386/i386/pcb.c:: likewise.
* i386/i386/thread.h: remove ES/DS/FS/GS from thread state on !USER32,
as they are unused in this configuration. Only SS and CS are kept.
* x86_64/locore.S: convert segment handling macros to no-op on full
64-bit
Message-Id: <20230729174753.1145878-5-luca@orpolo.org>
commit 55c6c03da81908fdf7de113e1b3c6efa758e82e7
Author: Luca Dariz <luca@orpolo.org>
Date: Sat Jul 29 19:47:52 2023 +0200
x86_64: refactor segment register handling
The actual values are not saved together with the rest of the thread
state, both because it would be quite espensive (reading MSR, unless
rdfsbase instructions are supported, but that's optional) and not
really needed. The only way the user has to change its value is with a
specific RPC, so we can intercept the change easily. Furthermore,
Leaving the values there exposes them to being corrupted in case of a
double interruption, e.g. an irq is handled just before iretq but
after starting to restore the thread state. This solution was
suggested by Sergey Bugaev.
* i386/i386/db_trace.c: remove fsbase/gsbase from the registers
available
* i386/i386/debug_i386.c: remove fsbase/gsbase from the printed thread
state
* i386/i386/i386asm.sym: remove fsbase/gsbase as it's not needed in
asm anymore
* i386/i386/pcb.c: point fsbase/gsbase to the new location
* i386/i386/thread.h: move fsbase/gsbase to the machine state
* x86_64/locore.S: generalize segment-handling including es/ds/gs/fs
and remove fsbase/gsbase handling. Also, factor out kernel segment
selector setting to a macro.
Message-Id: <20230729174753.1145878-4-luca@orpolo.org>
commit 0440b2aee5586daa986dc9322f4484266d09fb64
Author: Luca Dariz <luca@orpolo.org>
Date: Sat Jul 29 19:47:51 2023 +0200
x86_64: format pusha/popa macros for readability
Message-Id: <20230729174753.1145878-3-luca@orpolo.org>
commit 1d36430ead5d10508a3e1136cd1258ba534c3243
Author: Luca Dariz <luca@orpolo.org>
Date: Sat Jul 29 19:47:50 2023 +0200
x86_64: disable V86 mode on full 64-bit configuration
* i386/i386/pcb.c: simplify exception stack location and adapt thread
gettrs/setters
* i386/i386/thread.h: don't include V86 fields on full 64-bit
* x86_64/locore.S: don't include checks for V86 mode on full 64-bit
Message-Id: <20230729174753.1145878-2-luca@orpolo.org>
commit e2e78b6c461543e1d057a63eaa3d43d71ba0f3f8
Author: Luca Dariz <luca@orpolo.org>
Date: Sat Jul 29 19:47:49 2023 +0200
x86_64: fix stack handling on recursive interrupts for USER32
* x86_64/locore.S: ensure the thread state is filled completely even
on recursive interrups. The value of the segment selectors is not
very important in this case, but we still need to align the stack to
the bottom of i386_interrupt_state.
Message-Id: <20230729174753.1145878-1-luca@orpolo.org>
-----------------------------------------------------------------------
Summary of changes:
i386/i386/db_interface.c | 10 +-
i386/i386/db_trace.c | 4 +-
i386/i386/debug_i386.c | 2 -
i386/i386/i386asm.sym | 4 +-
i386/i386/pcb.c | 53 +++++++---
i386/i386/thread.h | 32 +++++-
x86_64/locore.S | 269 ++++++++++++++++++++++-------------------------
7 files changed, 201 insertions(+), 173 deletions(-)
hooks/post-receive
--
GNU Mach
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mach branch, master, updated. v1.8-668-gaaa33bd1,
Samuel Thibault <=