He's saying the research you did on XP is outdated, as the ROS kernel is not based on the XP kernel's design but 2003's.
On Wed, Mar 4, 2009 at 11:32 PM, Alex Ionescu <ionucu@videotron.ca> wrote:I got the code from SVN, so how can it be outdated?
> ReactOS is built on the 5.2 kernel, you are looking at the outdated
> 5.1 kernel, hence no to both your questions.
>
I doublechecked the SVN web also, at
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ketypes.h?revision=37792&view=markup.
This is updated, as far as I see. I am quite confused now.
So where is the svn repo of the latest code?
Thanks,
J
> On 3-Mar-09, at 11:34 PM, Jun Koi wrote:
>
>> Hi,
>>
>> I examined Windows XP 3, latest update, and found some differences in
>> its KPROCESS and our KPROCESS definition.
>>
>> Specifically, in our KPROCESS we have the union of ProcessFlags,
>> between 2 fields Affinity, and BasePriority. This ProcessFlags field
>> is 4 bytes in size.
>>
>> But XP3's KPROCESS has no such a ProcessFlags at that place. Instead,
>> they have a field named StackCount, with only 2 bytes in size.
>>
>> So I wonder why there is the difference. The answer might be that we
>> have not updated ketypes.h for a long time, and latest update of
>> Windows changed some structures, therefore we have not catched up with
>> yet.
>>
>> 1) Is that the correct understanding?
>>
>> 2) If so, will we update our structures to reflect the changes?
>>
>> Below is the output from my Windows XP.
>>
>> Thanks,
>> J
>>
>> Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
>> Product: WinNt, suite: TerminalServer SingleUserTS Personal
>> Built by: 2600.xpsp_sp3_gdr.080814-1236
>>
>> kd> dt -a -b -v _KPROCESS
>> ntdll!_KPROCESS
>> struct _KPROCESS, 29 elements, 0x6c bytes
>> +0x000 Header : struct _DISPATCHER_HEADER, 6 elements,
>> 0x10 bytes
>> +0x000 Type : UChar
>> +0x001 Absolute : UChar
>> +0x002 Size : UChar
>> +0x003 Inserted : UChar
>> +0x004 SignalState : Int4B
>> +0x008 WaitListHead : struct _LIST_ENTRY, 2 elements, 0x8
>> bytes
>> +0x000 Flink : Ptr32 to
>> +0x004 Blink : Ptr32 to
>> +0x010 ProfileListHead : struct _LIST_ENTRY, 2 elements, 0x8 bytes
>> +0x000 Flink : Ptr32 to
>> +0x004 Blink : Ptr32 to
>> +0x018 DirectoryTableBase : (2 elements) Uint4B
>> +0x020 LdtDescriptor : struct _KGDTENTRY, 3 elements, 0x8 bytes
>> +0x000 LimitLow : Uint2B
>> +0x002 BaseLow : Uint2B
>> +0x004 HighWord : union __unnamed, 2 elements, 0x4 bytes
>> +0x000 Bytes : struct __unnamed, 4 elements, 0x4
>> bytes
>> +0x000 BaseMid : UChar
>> +0x001 Flags1 : UChar
>> +0x002 Flags2 : UChar
>> +0x003 BaseHi : UChar
>> +0x000 Bits : struct __unnamed, 10 elements, 0x4
>> bytes
>> +0x000 BaseMid : Bitfield Pos 0, 8 Bits
>> +0x000 Type : Bitfield Pos 8, 5 Bits
>> +0x000 Dpl : Bitfield Pos 13, 2 Bits
>> +0x000 Pres : Bitfield Pos 15, 1 Bit
>> +0x000 LimitHi : Bitfield Pos 16, 4 Bits
>> +0x000 Sys : Bitfield Pos 20, 1 Bit
>> +0x000 Reserved_0 : Bitfield Pos 21, 1 Bit
>> +0x000 Default_Big : Bitfield Pos 22, 1 Bit
>> +0x000 Granularity : Bitfield Pos 23, 1 Bit
>> +0x000 BaseHi : Bitfield Pos 24, 8 Bits
>> +0x028 Int21Descriptor : struct _KIDTENTRY, 4 elements, 0x8 bytes
>> +0x000 Offset : Uint2B
>> +0x002 Selector : Uint2B
>> +0x004 Access : Uint2B
>> +0x006 ExtendedOffset : Uint2B
>> +0x030 IopmOffset : Uint2B
>> +0x032 Iopl : UChar
>> +0x033 Unused : UChar
>> +0x034 ActiveProcessors : Uint4B
>> +0x038 KernelTime : Uint4B
>> +0x03c UserTime : Uint4B
>> +0x040 ReadyListHead : struct _LIST_ENTRY, 2 elements, 0x8 bytes
>> +0x000 Flink : Ptr32 to
>> +0x004 Blink : Ptr32 to
>> +0x048 SwapListEntry : struct _SINGLE_LIST_ENTRY, 1 elements,
>> 0x4 bytes
>> +0x000 Next : Ptr32 to
>> +0x04c VdmTrapcHandler : Ptr32 to
>> +0x050 ThreadListHead : struct _LIST_ENTRY, 2 elements, 0x8 bytes
>> +0x000 Flink : Ptr32 to
>> +0x004 Blink : Ptr32 to
>> +0x058 ProcessLock : Uint4B
>> +0x05c Affinity : Uint4B
>> +0x060 StackCount : Uint2B
>> +0x062 BasePriority : Char
>> +0x063 ThreadQuantum : Char
>> +0x064 AutoAlignment : UChar
>> +0x065 State : UChar
>> +0x066 ThreadSeed : UChar
>> +0x067 DisableBoost : UChar
>> +0x068 PowerState : UChar
>> +0x069 DisableQuantum : UChar
>> +0x06a IdealNode : UChar
>> +0x06b Flags : struct _KEXECUTE_OPTIONS, 7 elements,
>> 0x1 bytes
>> +0x000 ExecuteDisable : Bitfield Pos 0, 1 Bit
>> +0x000 ExecuteEnable : Bitfield Pos 1, 1 Bit
>> +0x000 DisableThunkEmulation : Bitfield Pos 2, 1 Bit
>> +0x000 Permanent : Bitfield Pos 3, 1 Bit
>> +0x000 ExecuteDispatchEnable : Bitfield Pos 4, 1 Bit
>> +0x000 ImageDispatchEnable : Bitfield Pos 5, 1 Bit
>> +0x000 Spare : Bitfield Pos 6, 2 Bits
>> +0x06b ExecuteOptions : UChar
>> _______________________________________________
>> Ros-dev mailing list
>> Ros-dev@reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>
> Best regards,
> Alex Ionescu
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev