History log of /reactos/ntoskrnl/ke/amd64/stubs.c (Results 1 – 25 of 35)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f72d6dd4 20-Jan-2024 Oleg Dubinskiy <oleg.dubinskij30@gmail.com>

[NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386)

CORE-1697

Raise IRQL to SYNCH_LEVEL when exiting from the idle thread in the
idle loop, i

[NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386)

CORE-1697

Raise IRQL to SYNCH_LEVEL when exiting from the idle thread in the
idle loop, in case it is scheduled for execution. Then restore it
back to DISPATCH_LEVEL, after this is done.
This behaviour is a bit similar to the way it's done on x64.

This IRQL raise is necessary only in SMP builds.
Calls are placed in CONFIG_SMP ifdef: this avoids unnecessary IRQL
changes on UP, since SYNCH_LEVEL and DISPATCH_LEVEL are identical
there, unlike in MP, where SYNCH_LEVEL is IPI_LEVEL - 2 actually.

This prevents bugcheck DRIVER_IRQL_NOT_LESS_OR_EQUAL when booting
SMP x86 ReactOS, in KiTimerExpiration when calling it 2nd time.
The BSOD happened due to IRQL levels mismatch.

show more ...


# 6c5b3f20 06-Dec-2023 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE/x64] Add back a stubs.c file


# 902c6eee 23-Jul-2022 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE] Restore interrupts in KiSwitchKernelStack


Revision tags: 0.4.14-release
# 42bec35f 25-Jun-2021 Jérôme Gardou <jerome.gardou@reactos.org>

[NTOS:KE] Also rewrite KeZeroPages in assembly for amd64

Let's stick with "rep movsq" until we are able to have more precise benchmarks


# c6e9fea8 24-Jun-2021 Jérôme Gardou <jerome.gardou@reactos.org>

[NTOSKRNL] Deduplicate some symbols


# a011d19e 07-Jun-2021 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE] Fix some locking issues


# 34593d93 11-Jun-2021 Victor Perevertkin <victor.perevertkin@reactos.org>

[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces


Revision tags: 0.4.15-dev, 0.4.14-RC, 0.4.13-release, 0.4.14-dev, 0.4.13-RC, 0.4.12-release, 0.4.12-RC, 0.4.13-dev, 0.4.11-release, 0.4.11-RC, 0.4.12-dev, 0.4.10-release, 0.4.11-dev, 0.4.10-RC, 0.4.9-release, 0.4.10-dev, 0.4.9-RC, 0.4.8-release
# 3d18831c 08-Mar-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE] Improve KiSystemCallEntry64


# 5f1d79f0 09-Sep-2020 Serge Gautherie <reactos-git_serge_171003@gautherie.fr>

[NTOS:KE] KiIdleLoop(): Add DECLSPEC_NORETURN, Remove FASTCALL


# e581123c 05-Jan-2021 Hervé Poussineau <hpoussin@reactos.org>

[NTOSKRNL] Correctly use SEH2 macros (fixes GCC x64 compilation)


Revision tags: 0.4.8-RC, 0.4.9-dev
# fdc1261f 05-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64][NTDLL:X64] Implement x64 version of user callback code


# aaa86d07 10-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64] Move KiInitializeUserApc to usercall.c


# fbdff437 28-May-2019 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64] Implement flushing the GDI batch


# c86c55ac 09-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64] Change the logic of KeSwitchKernelStack and friends to be standards conforming

The previous version (like the x86 one) used a combination of C and asm code, called from C code to switc

[NTOS:KE:X64] Change the logic of KeSwitchKernelStack and friends to be standards conforming

The previous version (like the x86 one) used a combination of C and asm code, called from C code to switch the stack. This is problematic, since there is no guarantee what assumptions C code makes about the stack (i.e. it can place any kind of stack pointers into registers or on the stack itself.) The new algorithm returns back to the systemcall entry point in asm, which then calls KiConvertToGuiThread, which is also asm and calls KeSwitchKernelStack ...

show more ...


# 18b1aafd 06-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64] Improve kernel stack switching on GUI system calls

To be 100% correct and not rely on assumptions, stack switching can only be done when all previous code - starting with the syscall e

[NTOS:KE:X64] Improve kernel stack switching on GUI system calls

To be 100% correct and not rely on assumptions, stack switching can only be done when all previous code - starting with the syscall entry point - is pure asm code, since we can't rely on the C compiler to not use stack addresses in a way that is not transparent. Therefore the new code uses the same mechanism as for normal system calls, returning the address of the asm function KiConvertToGuiThread, which is then called like an Nt* function would be called normally. KiConvertToGuiThread then allocated a new stack, switches to it (which is now fine, since all the code is asm), frees the old stack, calls PsConvertToGuiThread (which now will not try to allocate another stack, since we already have one) and then jumps into the middle of KiSystemCallEntry64, where the system call is handled again.
Also simplify KiSystemCallEntry64 a bit by copying the first parameters into the trap frame, avoiding to allocate additional stack space for the call to KiSystemCallHandler, which now overlaps with the space that is allocated for the Nt* function.
Finally fix the locations where r10 and r11 are stored, which is TrapFrame->Rcx and TrapFrame->EFlags, based on the situation in user mode.

show more ...


# a6732905 04-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE:X64] Implement KiConvertToGuiThread, KeSwitchKernelStack and support for win32k syscalls in KiSystemCallHandler


# 04f0c7d0 15-May-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE] Zero out ExceptionFrame member in Syscall handler


# 366e8a84 09-Mar-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTOS:KE] Disable interrupts before lowering IRQL in KiDpcInterruptHandler to avoid stacking up DPC interrupts


# 9d2ecd3a 27-Jul-2020 Nguyen Trung Khanh <nguyentrungkhanh97@gmail.com>

[NTOS:KE] Fix stack memory disclosure in KiInitializeUserApc (#2988)


# de1b1958 10-Feb-2018 Timo Kreuzer <timo.kreuzer@reactos.org>

[NDK] Fix the type of KPROCESS::ActiveProcessors
Also fix related logic in KiSwapProcess


Revision tags: 0.4.7-release, v0.4.7, 0.4.8-dev, 0.4.7-rc1
# c2c66aff 03-Oct-2017 Colin Finck <colin@reactos.org>

Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.


Revision tags: backups/GSoC_2017/rapps@75905, ReactOS-0.4.6, backups/ros-branch-0_4_6@75728, 0.4.7-dev, ReactOS-0.4.5, backups/ros-branch-0_4_5@74569, ReactOS-0.4.4-CLT2017, backups/ReactOS-0.4.4-CLT2017@74182, ReactOS-0.4.4, backups/ros-branch-0_4_4@74002, ReactOS-0.4.4-FOSDEM2017, backups/ReactOS-0.4.4-FOSDEM2017@73667, ReactOS-0.4.3, backups/ros-branch-0_4_3@73437, backups/sndblst@72664, ReactOS-0.4.2, backups/ros-branch-0_4_2@73087, ReactOS-0.4.1, backups/ros-branch-0_4_1@71718
# 321bcc05 24-Apr-2016 Pierre Schweitzer <pierre@reactos.org>

Create the AHCI branch for Aman's work

svn path=/branches/GSoC_2016/AHCI/; revision=71203


Revision tags: ReactOS-0.4.0-CLT2016, backups/ReactOS-0.4.0-CLT2016@71719, ReactOS-0.4.0-FOSDEM2016, backups/ReactOS-0.4.0-FOSDEM2016@70667, ReactOS-0.4.0, backups/ros-branch-0_4_0@70757, backups/colins-printing-for-freedom@73041, ReactOS-0.3.17-CLT2015, backups/ReactOS-0.3.17-CLT2015@66843, ReactOS-0.3.17, ReactOS-0.3.17-FOSDEM2015, backups/ReactOS-0.3.17-FOSDEM2015@66122, backups/shell-experiments@75904, backups/tcpip_revolution@71025, backups/0.3.17@66124, backups/ros-branch-0_3_16-clt2014@63729
# b819608e 02-May-2014 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

Create a branch for console restructuration work.

svn path=/branches/condrv_restructure/; revision=63104


Revision tags: ReactOS-0.3.16-CLT2014, ReactOS-0.3.16, backups/ReactOS-0.3.16@62476
# 527f2f90 02-Feb-2014 Amine Khaldi <amine.khaldi@reactos.org>

[SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927


Revision tags: backups/vs_jc@60583, backups/vs_jc@59301
# 4f0b8d3d 16-Jun-2013 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

Create a branch for Aleksandar Andrejevic for his work on NTVDM. See http://jira.reactos.org/browse/CORE-7250 for more details.

svn path=/branches/ntvdm/; revision=59241


12