Hartmut Birr wrote:
-----Original Message-----
From: ros-dev-bounces(a)reactos.com
[mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu
Sent: Sunday, October 17, 2004 2:51 PM
To: ros-dev(a)reactos.com; hbirr(a)osexperts.com
Subject: [ros-dev] Re: [ros-cvs] CVS Update: reactos
Modified files:
reactos/ntoskrnl/include/internal/i386/: ps.h
Log message:
- Fixed the definition KPCR_SELF and KeGetCurrentKPCR.
Is that really right? I can swear fs:18h was still used until NT 5.2.
I think that is correct. Previous your last changes the offset to KPCR->Self
was 0x18. After your changes the offset is 0x1c. The offset 0x18 does point
to KPCR->Tib.Self. Win2K and WinXP (UP version) doesn't use the value at
offset 0x18. This value is always 0.
You're right... I was led to believe this only happened in Win2K3.
Thanks for letting me know.
Also, it would
be of critical importance to:
1) Change the hardcoded offsets to FIELD_OFFSET(...,...)
The assembler doesn't like the C definition for FIELD_OFFSET.
Is there any way to make it work? My MSVC inline assembler usually
didn't mind C macros, I don't know what's the case for GNU Assembler files.
2) Make the
ASM use the defines instead of hardcoding 1Ch/18h
The inline assembler doesn't like the definition for KPCR_SELF. The
assembler interprets KPCR_SELF as symbol at this point.
I've changed KPCR_SELF from 0x18 to 0x1c, because ros asserts in main.c line
#309.
Thanks, I had missed that one too. Once again shows the importance of
being able to use FIELD_OFFSET.
- Hartmut
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev
Many thanks again!
Best regards,
Alex Ionescu