#
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
|