From: Andrew G. T. <ta...@ib...> - 2001-06-13 18:43:08
|
> -----Original Message----- > From: lin...@li... > [mailto:lin...@li...]On Behalf Of Michael Vines > Sent: Wednesday, June 13, 2001 7:44 PM > To: lin...@li... > Subject: RE: [line-devel] RE: Interrupt vector > [...] > I tried switching the driver to use METHOD_BUFFERED but the 80.exe test > program couldn't talk with it. So I guess since METHOD_NEITHER seems to > be working fine, we might as well leave it as is until somebody finds a > problem with it. This just means that line/src/int80/int80.h will need to > be changed slightly, not a big deal. Yea. I think the same. [...] > Cool. It's not crashing anymore! Nice to hear. > > BTW, I still had to add the dereferences to DebugServiceHooks.cpp before > it would compile for me. Here's a diff: > ------------ > 137c137 > < oldIDT =(PNT_IDT) ExAllocatePool(NonPagedPool, > *KeNumberProcessors*sizeof(NT_IDT)); > --- > > oldIDT = (PNT_IDT) ExAllocatePool(NonPagedPool, > KeNumberProcessors*sizeof(NT_IDT)); > 143c143 > < for ( char cpu=0; cpu<*KeNumberProcessors; ++cpu ) > --- > > for ( char cpu=0; cpu<KeNumberProcessors; ++cpu ) > 172c172 > < KeSetAffinityThread( pThread, (1<<*KeNumberProcessors)-1 ); > --- > > KeSetAffinityThread( pThread, (1<<KeNumberProcessors)-1 ); > --------- It's valid fix, but i have: ntddk.h:119 extern NTSYSAPI CCHAR KeNumberProcessors; ntdef.h:504 typedef char CCHAR; // winnt I think it's my DDK incompatibility. I've moved this to NUMBER_PROCESSORS definition for easy fix. I will not post files (even 8K in ZIP) in list, here is a link: http://tag.odessa.ua/line/20010613.zip > > > Note about 64K pages - we heed own pagefault handler to support > SEG_FAULT > > signal ? > > I'm not sure what you mean? Can linux app proccess SEG_FAULT signal ? If ViewSection will be be able to map in 4Kb we can use 1. PAGE_GUARD page protection and SEH (structured exception handling) "If a program attempts to access an address within a guard page, the system raises a STATUS_GUARD_PAGE (0x80000001) exception. The system also clears the PAGE_GUARD modifier, removing the memory page's guard page status. The system will not stop the next attempt to access the memory page with a STATUS_GUARD_PAGE exception." 2. NT Kernel event Tracing Event trace controllers can include all page fault events by specifying EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS in the Flags member of an EVENT_TRACE_PROPERTIES structure. [Are this allow to change behaivior of page fault or only log ????] 3. Installing own Page fault interrupt ? BTW, Does anybody know how NTVDM handle interrupts ? > > Is there anybody on the list that has access to a NT 4.0 machine? It > would be nice to know whether or not the driver works on NT, and perhaps > provide a compiled binary for NT. Will be realy nice :o) Due to my firm developement nature we don't have NT :o( ============================= Andrew G. Tereschenko Software Engineer |