Author: jcatena Date: Sun Feb 7 11:47:13 2010 New Revision: 45482
URL: http://svn.reactos.org/svn/reactos?rev=45482&view=rev Log: [ntos] msvc wip
Modified: branches/jcatena-branch/drivers/base/kddll/kdcom.vcproj branches/jcatena-branch/hal/halx86/include/halp.h branches/jcatena-branch/ntoskrnl/ex/init.c branches/jcatena-branch/ntoskrnl/ke/i386/cpu.c branches/jcatena-branch/ntoskrnl/ke/i386/irqobj.c branches/jcatena-branch/ntoskrnl/ke/i386/traphdlr.c branches/jcatena-branch/ntoskrnl/ntoskrnl.sln branches/jcatena-branch/ntoskrnl/ntoskrnl.vcproj branches/jcatena-branch/ntoskrnl/ntoskrnl.vsprops branches/jcatena-branch/ntoskrnl/trap/i386/TrapStub.h branches/jcatena-branch/ntoskrnl/trap/trap.c
Modified: branches/jcatena-branch/drivers/base/kddll/kdcom.vcproj URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/drivers/base/kddl... ============================================================================== --- branches/jcatena-branch/drivers/base/kddll/kdcom.vcproj [iso-8859-1] (original) +++ branches/jcatena-branch/drivers/base/kddll/kdcom.vcproj [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -131,6 +131,7 @@ AdditionalDependencies="ntoskrnl.lib hal.lib" ModuleDefinitionFile="kdcom.def" GenerateDebugInformation="true" + SubSystem="0" OptimizeReferences="2" EnableCOMDATFolding="2" ResourceOnlyDLL="true"
Modified: branches/jcatena-branch/hal/halx86/include/halp.h URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/hal/halx86/includ... ============================================================================== --- branches/jcatena-branch/hal/halx86/include/halp.h [iso-8859-1] (original) +++ branches/jcatena-branch/hal/halx86/include/halp.h [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -29,10 +29,8 @@ );
typedef -FASTCALL -VOID -DECLSPEC_NORETURN -(*PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)( +VOID +(FASTCALL *PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)( IN PKTRAP_FRAME TrapFrame );
Modified: branches/jcatena-branch/ntoskrnl/ex/init.c URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ex/init.... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ex/init.c [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ex/init.c [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -1298,10 +1298,14 @@ /* Set us at maximum priority */ KeSetPriorityThread(KeGetCurrentThread(), HIGH_PRIORITY);
+ DPRINTT("HalInitSystem\n"); + _ASM int 3 + /* Do Phase 1 HAL Initialization */ - DPRINTT("HalInitSystem\n"); if (!HalInitSystem(1, LoaderBlock)) KeBugCheck(HAL1_INITIALIZATION_FAILED); + + _ASM int 3 DPRINTT("HalInitSystem r\n");
Modified: branches/jcatena-branch/ntoskrnl/ke/i386/cpu.c URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ke/i386/... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ke/i386/cpu.c [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ke/i386/cpu.c [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -931,6 +931,7 @@ // Restore GDT and IDT // Ke386SetGlobalDescriptorTable(&ProcessorState->SpecialRegisters.Gdtr.Limit); + __lidt(&ProcessorState->SpecialRegisters.Idtr.Limit);
//
Modified: branches/jcatena-branch/ntoskrnl/ke/i386/irqobj.c URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ke/i386/... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ke/i386/irqobj.c [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ke/i386/irqobj.c [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -33,6 +33,7 @@ UCHAR Type; UCHAR Entry;
+ DPRINTT("\n"); /* Check if this is a primary or 2nd-level dispatch */ Type = HalSystemVectorDispatchEntry(Vector, &Dispatch->FlatDispatch, @@ -151,6 +152,7 @@ VOID KiUnexpectedInterrupt(VOID) { + DPRINTT("\n"); /* Crash the machine */ KeBugCheck(TRAP_CAUSE_UNKNOWN); } @@ -173,7 +175,7 @@ if (HalBeginSystemInterrupt(HIGH_LEVEL, Interrupt->Vector, &OldIrql)) { /* Warn user */ - DPRINT1("\n\x7\x7!!! Unexpected Interrupt %02lx !!!\n"); + DPRINT1("!!! Unexpected Interrupt %02lx !!!\n");
/* Now call the epilogue code */ KiExitInterrupt(TrapFrame, OldIrql, FALSE); @@ -210,7 +212,7 @@ if (HalBeginSystemInterrupt(HIGH_LEVEL, Interrupt->Vector, &OldIrql)) { /* Warn user */ - DPRINT1("\n\x7\x7!!! Unexpected Interrupt %02lx !!!\n"); + DPRINT1("!!! Unexpected Interrupt %x !!!\n", Interrupt->Vector);
/* Now call the epilogue code */ KiExitInterrupt(TrapFrame, OldIrql, FALSE); @@ -372,7 +374,9 @@ { PULONG DispatchCode = &Interrupt->DispatchCode[0];
- /* Set the Interrupt Header */ + DPRINTT("\n"); + + /* Set the Interrupt Header */ Interrupt->Type = InterruptObject; Interrupt->Size = sizeof(KINTERRUPT);
Modified: branches/jcatena-branch/ntoskrnl/ke/i386/traphdlr.c URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ke/i386/... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ke/i386/traphdlr.c [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ke/i386/traphdlr.c [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -1658,16 +1658,14 @@ KiTrap(KiFastCallEntry, KI_FAST_SYSTEM_CALL); #endif
-/* - * @implemented - */ -VOID -NTAPI -Kei386EoiHelper(VOID) -{ +#if 0 // see idt.s +VOID NTAPI _NAKED Kei386EoiHelper(VOID) +{ + /* We should never see this call happening */ DPRINT1("Mismatched NT/HAL version"); while (TRUE); } +#endif
/* EOF */
Modified: branches/jcatena-branch/ntoskrnl/ntoskrnl.sln URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ntoskrnl... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ntoskrnl.sln [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ntoskrnl.sln [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -68,100 +68,199 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trap", "trap\trap.vcproj", "{E2A7291E-515F-4BAD-8E82-F77AA0815B47}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "halx86", "..\hal\halx86\halx86.vcproj", "{BE9CFC62-1DA2-49B4-AC03-10B1CC754741}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution d|Win32 = d|Win32 + Debug|Win32 = Debug|Win32 r|Win32 = r|Win32 + Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E432D40C-7443-4449-9182-8932E0AEAE99}.d|Win32.ActiveCfg = d|Win32 {E432D40C-7443-4449-9182-8932E0AEAE99}.d|Win32.Build.0 = d|Win32 + {E432D40C-7443-4449-9182-8932E0AEAE99}.Debug|Win32.ActiveCfg = d|Win32 + {E432D40C-7443-4449-9182-8932E0AEAE99}.Debug|Win32.Build.0 = d|Win32 {E432D40C-7443-4449-9182-8932E0AEAE99}.r|Win32.ActiveCfg = r|Win32 {E432D40C-7443-4449-9182-8932E0AEAE99}.r|Win32.Build.0 = r|Win32 + {E432D40C-7443-4449-9182-8932E0AEAE99}.Release|Win32.ActiveCfg = r|Win32 + {E432D40C-7443-4449-9182-8932E0AEAE99}.Release|Win32.Build.0 = r|Win32 {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.d|Win32.ActiveCfg = d|Win32 {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.d|Win32.Build.0 = d|Win32 + {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.Debug|Win32.ActiveCfg = d|Win32 + {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.Debug|Win32.Build.0 = d|Win32 {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.r|Win32.ActiveCfg = r|Win32 {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.r|Win32.Build.0 = r|Win32 + {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.Release|Win32.ActiveCfg = r|Win32 + {A4D48188-969A-48AD-A7A8-9A0985EE7A7B}.Release|Win32.Build.0 = r|Win32 {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.d|Win32.ActiveCfg = d|Win32 {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.d|Win32.Build.0 = d|Win32 + {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.Debug|Win32.ActiveCfg = d|Win32 + {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.Debug|Win32.Build.0 = d|Win32 {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.r|Win32.ActiveCfg = r|Win32 {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.r|Win32.Build.0 = r|Win32 + {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.Release|Win32.ActiveCfg = r|Win32 + {32B0B2D6-5612-40E8-90F5-FB5CB4D76C6E}.Release|Win32.Build.0 = r|Win32 {590171C3-2DD0-4790-9BB7-A3601BD548A1}.d|Win32.ActiveCfg = d|Win32 {590171C3-2DD0-4790-9BB7-A3601BD548A1}.d|Win32.Build.0 = d|Win32 + {590171C3-2DD0-4790-9BB7-A3601BD548A1}.Debug|Win32.ActiveCfg = d|Win32 + {590171C3-2DD0-4790-9BB7-A3601BD548A1}.Debug|Win32.Build.0 = d|Win32 {590171C3-2DD0-4790-9BB7-A3601BD548A1}.r|Win32.ActiveCfg = r|Win32 {590171C3-2DD0-4790-9BB7-A3601BD548A1}.r|Win32.Build.0 = r|Win32 + {590171C3-2DD0-4790-9BB7-A3601BD548A1}.Release|Win32.ActiveCfg = r|Win32 + {590171C3-2DD0-4790-9BB7-A3601BD548A1}.Release|Win32.Build.0 = r|Win32 {33A96973-0632-4142-A411-36B937663234}.d|Win32.ActiveCfg = d|Win32 {33A96973-0632-4142-A411-36B937663234}.d|Win32.Build.0 = d|Win32 + {33A96973-0632-4142-A411-36B937663234}.Debug|Win32.ActiveCfg = d|Win32 + {33A96973-0632-4142-A411-36B937663234}.Debug|Win32.Build.0 = d|Win32 {33A96973-0632-4142-A411-36B937663234}.r|Win32.ActiveCfg = r|Win32 {33A96973-0632-4142-A411-36B937663234}.r|Win32.Build.0 = r|Win32 + {33A96973-0632-4142-A411-36B937663234}.Release|Win32.ActiveCfg = r|Win32 + {33A96973-0632-4142-A411-36B937663234}.Release|Win32.Build.0 = r|Win32 {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.d|Win32.ActiveCfg = d|Win32 {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.d|Win32.Build.0 = d|Win32 + {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.Debug|Win32.ActiveCfg = d|Win32 + {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.Debug|Win32.Build.0 = d|Win32 {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.r|Win32.ActiveCfg = r|Win32 {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.r|Win32.Build.0 = r|Win32 + {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.Release|Win32.ActiveCfg = r|Win32 + {93A5CAA3-5B14-41C4-961A-1D1A93FD9818}.Release|Win32.Build.0 = r|Win32 {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.d|Win32.ActiveCfg = d|Win32 {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.d|Win32.Build.0 = d|Win32 + {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.Debug|Win32.ActiveCfg = d|Win32 + {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.Debug|Win32.Build.0 = d|Win32 {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.r|Win32.ActiveCfg = r|Win32 {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.r|Win32.Build.0 = r|Win32 + {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.Release|Win32.ActiveCfg = r|Win32 + {A4C0117F-DBB0-4631-A408-D6E4D964E07C}.Release|Win32.Build.0 = r|Win32 {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.d|Win32.ActiveCfg = d|Win32 {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.d|Win32.Build.0 = d|Win32 + {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.Debug|Win32.ActiveCfg = d|Win32 + {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.Debug|Win32.Build.0 = d|Win32 {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.r|Win32.ActiveCfg = r|Win32 {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.r|Win32.Build.0 = r|Win32 + {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.Release|Win32.ActiveCfg = r|Win32 + {8035D0FD-0157-4F0D-845B-DE9CCB48490D}.Release|Win32.Build.0 = r|Win32 {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.d|Win32.ActiveCfg = d|Win32 {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.d|Win32.Build.0 = d|Win32 + {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.Debug|Win32.ActiveCfg = d|Win32 + {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.Debug|Win32.Build.0 = d|Win32 {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.r|Win32.ActiveCfg = r|Win32 {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.r|Win32.Build.0 = r|Win32 + {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.Release|Win32.ActiveCfg = r|Win32 + {7CCF80F4-FCA6-4ED7-8C52-E92B7A1B7116}.Release|Win32.Build.0 = r|Win32 {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.d|Win32.ActiveCfg = d|Win32 {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.d|Win32.Build.0 = d|Win32 + {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.Debug|Win32.ActiveCfg = d|Win32 + {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.Debug|Win32.Build.0 = d|Win32 {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.r|Win32.ActiveCfg = r|Win32 {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.r|Win32.Build.0 = r|Win32 + {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.Release|Win32.ActiveCfg = r|Win32 + {D4F03490-B3A7-4389-AB68-1DF9EF82D51F}.Release|Win32.Build.0 = r|Win32 {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.d|Win32.ActiveCfg = d|Win32 {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.d|Win32.Build.0 = d|Win32 + {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.Debug|Win32.ActiveCfg = d|Win32 + {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.Debug|Win32.Build.0 = d|Win32 {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.r|Win32.ActiveCfg = r|Win32 {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.r|Win32.Build.0 = r|Win32 + {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.Release|Win32.ActiveCfg = r|Win32 + {E3324A8B-EE25-43F7-9895-44E3A8083EA3}.Release|Win32.Build.0 = r|Win32 {17C7F7C1-6315-4856-9375-39F0B329FA09}.d|Win32.ActiveCfg = d|Win32 {17C7F7C1-6315-4856-9375-39F0B329FA09}.d|Win32.Build.0 = d|Win32 + {17C7F7C1-6315-4856-9375-39F0B329FA09}.Debug|Win32.ActiveCfg = d|Win32 + {17C7F7C1-6315-4856-9375-39F0B329FA09}.Debug|Win32.Build.0 = d|Win32 {17C7F7C1-6315-4856-9375-39F0B329FA09}.r|Win32.ActiveCfg = r|Win32 {17C7F7C1-6315-4856-9375-39F0B329FA09}.r|Win32.Build.0 = r|Win32 + {17C7F7C1-6315-4856-9375-39F0B329FA09}.Release|Win32.ActiveCfg = r|Win32 + {17C7F7C1-6315-4856-9375-39F0B329FA09}.Release|Win32.Build.0 = r|Win32 {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.d|Win32.ActiveCfg = d|Win32 {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.d|Win32.Build.0 = d|Win32 + {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.Debug|Win32.ActiveCfg = d|Win32 + {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.Debug|Win32.Build.0 = d|Win32 {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.r|Win32.ActiveCfg = r|Win32 {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.r|Win32.Build.0 = r|Win32 + {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.Release|Win32.ActiveCfg = r|Win32 + {F61DDEF4-A045-4AFD-AA0A-FAF6F6F97A21}.Release|Win32.Build.0 = r|Win32 {431D55CC-8FCA-4298-919C-F3214EFDDA60}.d|Win32.ActiveCfg = d|Win32 {431D55CC-8FCA-4298-919C-F3214EFDDA60}.d|Win32.Build.0 = d|Win32 + {431D55CC-8FCA-4298-919C-F3214EFDDA60}.Debug|Win32.ActiveCfg = d|Win32 + {431D55CC-8FCA-4298-919C-F3214EFDDA60}.Debug|Win32.Build.0 = d|Win32 {431D55CC-8FCA-4298-919C-F3214EFDDA60}.r|Win32.ActiveCfg = r|Win32 {431D55CC-8FCA-4298-919C-F3214EFDDA60}.r|Win32.Build.0 = r|Win32 + {431D55CC-8FCA-4298-919C-F3214EFDDA60}.Release|Win32.ActiveCfg = r|Win32 + {431D55CC-8FCA-4298-919C-F3214EFDDA60}.Release|Win32.Build.0 = r|Win32 {45C60178-D657-45EC-9A99-EEE39C9845BF}.d|Win32.ActiveCfg = d|Win32 {45C60178-D657-45EC-9A99-EEE39C9845BF}.d|Win32.Build.0 = d|Win32 + {45C60178-D657-45EC-9A99-EEE39C9845BF}.Debug|Win32.ActiveCfg = d|Win32 + {45C60178-D657-45EC-9A99-EEE39C9845BF}.Debug|Win32.Build.0 = d|Win32 {45C60178-D657-45EC-9A99-EEE39C9845BF}.r|Win32.ActiveCfg = r|Win32 {45C60178-D657-45EC-9A99-EEE39C9845BF}.r|Win32.Build.0 = r|Win32 + {45C60178-D657-45EC-9A99-EEE39C9845BF}.Release|Win32.ActiveCfg = r|Win32 + {45C60178-D657-45EC-9A99-EEE39C9845BF}.Release|Win32.Build.0 = r|Win32 {45E70482-84C8-4846-A1BF-3C7A1BC94335}.d|Win32.ActiveCfg = d|Win32 {45E70482-84C8-4846-A1BF-3C7A1BC94335}.d|Win32.Build.0 = d|Win32 + {45E70482-84C8-4846-A1BF-3C7A1BC94335}.Debug|Win32.ActiveCfg = d|Win32 + {45E70482-84C8-4846-A1BF-3C7A1BC94335}.Debug|Win32.Build.0 = d|Win32 {45E70482-84C8-4846-A1BF-3C7A1BC94335}.r|Win32.ActiveCfg = r|Win32 {45E70482-84C8-4846-A1BF-3C7A1BC94335}.r|Win32.Build.0 = r|Win32 + {45E70482-84C8-4846-A1BF-3C7A1BC94335}.Release|Win32.ActiveCfg = r|Win32 + {45E70482-84C8-4846-A1BF-3C7A1BC94335}.Release|Win32.Build.0 = r|Win32 {33EB04DB-6651-4F5C-9035-807FF1E38842}.d|Win32.ActiveCfg = d|Win32 {33EB04DB-6651-4F5C-9035-807FF1E38842}.d|Win32.Build.0 = d|Win32 + {33EB04DB-6651-4F5C-9035-807FF1E38842}.Debug|Win32.ActiveCfg = d|Win32 + {33EB04DB-6651-4F5C-9035-807FF1E38842}.Debug|Win32.Build.0 = d|Win32 {33EB04DB-6651-4F5C-9035-807FF1E38842}.r|Win32.ActiveCfg = r|Win32 {33EB04DB-6651-4F5C-9035-807FF1E38842}.r|Win32.Build.0 = r|Win32 + {33EB04DB-6651-4F5C-9035-807FF1E38842}.Release|Win32.ActiveCfg = r|Win32 + {33EB04DB-6651-4F5C-9035-807FF1E38842}.Release|Win32.Build.0 = r|Win32 {AEADDBC1-092C-4180-8D34-12CA97CFB497}.d|Win32.ActiveCfg = d|Win32 {AEADDBC1-092C-4180-8D34-12CA97CFB497}.d|Win32.Build.0 = d|Win32 + {AEADDBC1-092C-4180-8D34-12CA97CFB497}.Debug|Win32.ActiveCfg = d|Win32 + {AEADDBC1-092C-4180-8D34-12CA97CFB497}.Debug|Win32.Build.0 = d|Win32 {AEADDBC1-092C-4180-8D34-12CA97CFB497}.r|Win32.ActiveCfg = r|Win32 {AEADDBC1-092C-4180-8D34-12CA97CFB497}.r|Win32.Build.0 = r|Win32 + {AEADDBC1-092C-4180-8D34-12CA97CFB497}.Release|Win32.ActiveCfg = r|Win32 + {AEADDBC1-092C-4180-8D34-12CA97CFB497}.Release|Win32.Build.0 = r|Win32 {53C05779-2821-431C-93CC-CDFE6942DE3C}.d|Win32.ActiveCfg = d|Win32 {53C05779-2821-431C-93CC-CDFE6942DE3C}.d|Win32.Build.0 = d|Win32 + {53C05779-2821-431C-93CC-CDFE6942DE3C}.Debug|Win32.ActiveCfg = d|Win32 + {53C05779-2821-431C-93CC-CDFE6942DE3C}.Debug|Win32.Build.0 = d|Win32 {53C05779-2821-431C-93CC-CDFE6942DE3C}.r|Win32.ActiveCfg = r|Win32 {53C05779-2821-431C-93CC-CDFE6942DE3C}.r|Win32.Build.0 = r|Win32 + {53C05779-2821-431C-93CC-CDFE6942DE3C}.Release|Win32.ActiveCfg = r|Win32 + {53C05779-2821-431C-93CC-CDFE6942DE3C}.Release|Win32.Build.0 = r|Win32 {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.d|Win32.ActiveCfg = d|Win32 {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.d|Win32.Build.0 = d|Win32 + {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.Debug|Win32.ActiveCfg = d|Win32 + {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.Debug|Win32.Build.0 = d|Win32 {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.r|Win32.ActiveCfg = r|Win32 {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.r|Win32.Build.0 = r|Win32 + {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.Release|Win32.ActiveCfg = r|Win32 + {3D9AC5B7-C29C-46F5-B3D8-C4388F37DB5C}.Release|Win32.Build.0 = r|Win32 {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.d|Win32.ActiveCfg = d|Win32 {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.d|Win32.Build.0 = d|Win32 + {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.Debug|Win32.ActiveCfg = d|Win32 + {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.Debug|Win32.Build.0 = d|Win32 {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.r|Win32.ActiveCfg = r|Win32 {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.r|Win32.Build.0 = r|Win32 + {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.Release|Win32.ActiveCfg = r|Win32 + {97021AF5-ED87-4AA8-B116-2D53E5D6D528}.Release|Win32.Build.0 = r|Win32 {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.d|Win32.ActiveCfg = d|Win32 {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.d|Win32.Build.0 = d|Win32 + {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.Debug|Win32.ActiveCfg = d|Win32 + {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.Debug|Win32.Build.0 = d|Win32 {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.r|Win32.ActiveCfg = r|Win32 {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.r|Win32.Build.0 = r|Win32 + {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.Release|Win32.ActiveCfg = r|Win32 + {E2A7291E-515F-4BAD-8E82-F77AA0815B47}.Release|Win32.Build.0 = r|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.d|Win32.ActiveCfg = Debug|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.Debug|Win32.ActiveCfg = Debug|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.Debug|Win32.Build.0 = Debug|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.r|Win32.ActiveCfg = Release|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.r|Win32.Build.0 = Release|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.Release|Win32.ActiveCfg = Release|Win32 + {BE9CFC62-1DA2-49B4-AC03-10B1CC754741}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE
Modified: branches/jcatena-branch/ntoskrnl/ntoskrnl.vcproj URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ntoskrnl... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ntoskrnl.vcproj [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ntoskrnl.vcproj [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -70,6 +70,7 @@ ModuleDefinitionFile="ntoskrnl.def" GenerateMapFile="true" MapFileName="$(IntDir)_ntoskrnl.map" + SubSystem="0" EntryPointSymbol="KiSystemStartup" BaseAddress="0x80800000" /> @@ -146,6 +147,7 @@ ModuleDefinitionFile="ntoskrnl.def" GenerateMapFile="true" MapFileName="$(IntDir)_ntoskrnl.map" + SubSystem="0" LinkTimeCodeGeneration="1" EntryPointSymbol="KiSystemStartup" BaseAddress="0x80800000"
Modified: branches/jcatena-branch/ntoskrnl/ntoskrnl.vsprops URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ntoskrnl... ============================================================================== --- branches/jcatena-branch/ntoskrnl/ntoskrnl.vsprops [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/ntoskrnl.vsprops [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -20,7 +20,7 @@ OmitFramePointers="false" EnableFiberSafeOptimizations="false" WholeProgramOptimization="false" - AdditionalIncludeDirectories=".;.\include;"$(inc)\reactos\msc\i386";"$(inc)\reactos\msc";"$(inc)\reactos\i386";"$(inc)\reactos";"$(s)\ntoskrnl$(trapx)\i386";"$(s)\ntoskrnl$(trapx)";"$(s)\ntoskrnl\include";"$(s)\ntoskrnl\include\internal\i386";"$(s)\ntoskrnl\include\internal";"$(objrbe)\ntoskrnl\include";"$(s)\lib\rtl";"$(objrbe)\include\psdk";"$(inc)\psdk";"$(inc)\ddk";"$(inc)\i386";"$(inc)\ndk";"$(inc)\ndk\i386";"$(inc)\crt\msc";"$(inc)\crt";"$(objrbe)\include";"$(inc)\reactos\drivers";"$(inc)\reactos\libs";"$(inc)";"$(s)\lib\cmlib"" + AdditionalIncludeDirectories=".;.\include;"$(inc)\reactos\msc\i386";"$(inc)\reactos\msc";"$(inc)\reactos\i386";"$(inc)\reactos";"$(s)\ntoskrnl$(trapx)\i386";"$(s)\ntoskrnl$(trapx)";"$(s)\ntoskrnl\include";"$(s)\ntoskrnl\include\internal\i386";"$(s)\ntoskrnl\include\internal";"$(objrbe)\ntoskrnl\include";"$(s)\lib\rtl";"$(objrbe)\include\psdk";"$(inc)\psdk";"$(inc)\ddk";"$(inc)\i386";"$(inc)\ndk";"$(inc)\ndk\i386";"$(inc)\crt\msc";"$(inc)\crt";"$(objrbe)\include";"$(objrbe)\include\reactos";"$(inc)\reactos\drivers";"$(inc)\reactos\libs";"$(inc)";"$(s)\lib\cmlib"" IgnoreStandardIncludePath="true" StringPooling="true" ExceptionHandling="1"
Modified: branches/jcatena-branch/ntoskrnl/trap/i386/TrapStub.h URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/trap/i38... ============================================================================== --- branches/jcatena-branch/ntoskrnl/trap/i386/TrapStub.h [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/trap/i386/TrapStub.h [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -34,7 +34,6 @@ sub esp, dword ptr offset KTRAP_FRAME.V86Es #elif (TRAP_STUB_FLAGS & TRAPF_INTERRUPT) // the primary stub (trap_m.h) pushes a pointer to KINTERRUPT - int 3 sub esp, offset KTRAP_FRAME.ErrCode #elif (TRAP_STUB_FLAGS & TRAPF_ERRORCODE) sub esp, offset KTRAP_FRAME.ErrCode @@ -46,32 +45,40 @@ #endif
// save volatiles + mov KTRAP_FRAME.Edx[esp], edx + mov KTRAP_FRAME.Ecx[esp], ecx mov KTRAP_FRAME.Eax[esp], eax - mov KTRAP_FRAME.Ecx[esp], ecx - mov KTRAP_FRAME.Edx[esp], edx
-// !!! while testing we always save novol too + // !!! only for testing we are always saving novol // #if (TRAP_STUB_FLAGS & TRAPF_SAVENOVOL) + mov KTRAP_FRAME.Edi[esp], edi + mov KTRAP_FRAME.Esi[esp], esi + mov KTRAP_FRAME.Ebx[esp], ebx mov KTRAP_FRAME.Ebp[esp], ebp - mov KTRAP_FRAME.Ebx[esp], ebx - mov KTRAP_FRAME.Esi[esp], esi - mov KTRAP_FRAME.Edi[esp], edi // #endif
// save & load segs #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVESEG) - mov KTRAP_FRAME.SegDs[esp], ds - mov KTRAP_FRAME.SegEs[esp], es #if !(TRAP_STUB_FLAGS & TRAPF_NOLOADDS) mov ax, TRAP_STUB_DS +#endif +#if (TRAP_STUB_FLAGS & TRAPF_LOADFS) + mov dx, TRAP_STUB_FS +#endif + // gs most probably does not need save/restore, + // but we're playing safe for now + mov KTRAP_FRAME.SegGs[esp], gs + mov KTRAP_FRAME.SegEs[esp], es + mov KTRAP_FRAME.SegDs[esp], ds + +#if !(TRAP_STUB_FLAGS & TRAPF_NOLOADDS) + mov es, ax mov ds, ax - mov es, ax #endif #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVEFS) mov KTRAP_FRAME.SegFs[esp], fs #if (TRAP_STUB_FLAGS & TRAPF_LOADFS) - mov ax, TRAP_STUB_FS - mov fs, ax + mov fs, dx #endif #endif // #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVEFS) #endif // #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVESEG) @@ -89,19 +96,20 @@
// restore seg regs #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVESEG) + mov es, KTRAP_FRAME.SegGs[esp] + mov es, KTRAP_FRAME.SegEs[esp] mov ds, KTRAP_FRAME.SegDs[esp] - mov es, KTRAP_FRAME.SegEs[esp] #if !(TRAP_STUB_FLAGS & TRAPF_NOSAVEFS) mov fs, KTRAP_FRAME.SegFs[esp] #endif #endif
- // !!! while testing we always save novol too +// !!! only for testing we're always saving novol // #if (TRAP_STUB_FLAGS & TRAPF_SAVENOVOL) + mov edi, KTRAP_FRAME.Edi[esp] + mov esi, KTRAP_FRAME.Esi[esp] + mov ebx, KTRAP_FRAME.Ebx[esp] mov ebp, KTRAP_FRAME.Ebp[esp] - mov ebx, KTRAP_FRAME.Ebx[esp] - mov esi, KTRAP_FRAME.Esi[esp] - mov edi, KTRAP_FRAME.Edi[esp] // #endif
// restore volatile regs and return @@ -113,10 +121,10 @@ sti CpuSysExit #else + mov edx, KTRAP_FRAME.Edx[esp] + mov ecx, KTRAP_FRAME.Ecx[esp] mov eax, KTRAP_FRAME.Eax[esp] - mov ecx, KTRAP_FRAME.Ecx[esp] - mov edx, KTRAP_FRAME.Edx[esp] - add esp, KTRAP_FRAME_EIP + add esp, offset KTRAP_FRAME.Eip iretd #endif
Modified: branches/jcatena-branch/ntoskrnl/trap/trap.c URL: http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/trap/tra... ============================================================================== --- branches/jcatena-branch/ntoskrnl/trap/trap.c [iso-8859-1] (original) +++ branches/jcatena-branch/ntoskrnl/trap/trap.c [iso-8859-1] Sun Feb 7 11:47:13 2010 @@ -140,12 +140,18 @@
void *kk = KiTrap00;
-VOID _FASTCALL KiInterruptHandler(KTRAP_FRAME *TrapFrame, PKINTERRUPT Interrupt) +VOID FASTCALL KiInterruptHandler(KTRAP_FRAME *TrapFrame, PKINTERRUPT Interrupt) { DPRINTT("\n"); - _ASM int 3 + // _ASM int 3 KiInterruptTemplateHandler(TrapFrame, Interrupt); // KiTrapReturn(TrapFrame); +} + +VOID FASTCALL Kii386EoiHelper(KTRAP_FRAME *TrapFrame) +{ + DPRINT1("!!! This should not be used\n"); + KiEoiHelper(TrapFrame); }
VOID _CDECL KiTrapInit(VOID)