commit-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]