Hi newcomer,
Thank four your suggestion.
I tried that too as an alternative. I tried in a user space program to
issue an int mnemonic (I am using Windows 8 64 bits):
int _tmain(int argc, _TCHAR* argv) {
_asm { int 0x8 }
}
But even running it as administrator It gives me an exception:
Unhandled exception at 0x00B514D5 in issueInt.exe: 0xC0000005: Access
violation reading location 0xFFFFFFFF.
I tried the instruction int with other arguments than 8. Tried with free
IRQ lines (checked on device manager some free IRQ lines) but it gives me
the same exception.
I am not sure if the argument of int is the IRQ line, maybe its the entry
in the IDT?
I tried with some other values but still have the exception.
Can you tell me what argument you used in your program?
On the other hand maybe the system prevents issue soft interrupts from user
space. (The syscalls now are not called using int but SYSENTER mnemonic…)?
If I tried to do that in a kernel mode driver compiler won’t let me compile
it, giving error:
error C4235: nonstandard extension used : ‘_asm’ keyword not supported on
this architecture
On 25 May 2013 17:34, wrote:
> Some years ago, we did a device simulator. We had a process that called
> int n, where n was the desired interrupt. It worked just fine as long as
> you had the multiprocessor HAL installed. These days, I don’t know of any
> machine that has the uniprocessor HAL. So just write a program that
> issues an int n instruction for whatever n you want, and run it. There is
> no need to replace an existing driver to do this.
> joe
>
> > Hi Don,
> >
> > Thanks for the quick reply.
> >
> > I Thought RTC driver was only required at boot to update system time and
> > at
> > shutdown to update RTC with current system time.
> > So I assumed that there is no problem removing the driver while system is
> > running.
> >
> > I did the same thing with Linux without problems.
> > I removed rtc_cmos module, the Linux RTC driver, while system is running
> > without (at least) visible side effects.
> >
> > Then I installed a demo driver which implements an IRQ8 ISR.
> > The driver is fully functional.
> >
> > This demo program is just for students get used with simple ISR
> > implementation.
> > I used RTC in Linux with fair success. Students can test the ISR on any
> > computer without the need of additional boards.
> >
> > Now I want to exemplify ISR handling with Windows too.
> > The porting of the Linux Version for Windows is very straightforward. The
> > only problem is that I need some device to issue interrupts. If not the
> > RTC
> > I can use another one, but I would like to use a common device, present
> in
> > any computer, so that students do not need to get additional hardware.
> >
> >
> >
> >
> >
> > On 25 May 2013 13:49, Don Burn wrote:
> >
> >> This is a really bad idea. If you need something for demo purposes get
> >> a
> >> demo board, but messing with the real time clock will break Windows.
> >>
> >>
> >> Don Burn
> >> Windows Filesystem and Driver Consulting
> >> Website: http://www.windrvr.com
> >> Blog: http://msmvps.com/blogs/**WinDrvr
> >> http:
> >>
> >>
> >>
> >> “xxxxx@ualg.pt” wrote in message news:xxxxx@ntdev:
> >>
> >>
> >> Hi all,
> >>>
> >>> I am developing a driver to implement an ISR for demo purposes.
> >>> I am planning to use IRQ 8 and the RTC to generate periodic interrupts.
> >>>
> >>> So I need to find a way to prevent system driver cmos/rtc to load at
> >>> boot in windows 8,
> >>> since with the driver loaded I can not access resources reserved by it,
> >>> like IRQ line 8 ant I/O ports 0x70-71, which I need for my driver.
> >>>
> >>> The problem is:
> >>> Windows 8 at boot loads a system driver that reserves this IRQ and can
> >>> not be disabled.
> >>> On the other hand if uninstalled it requires a reboot to complete the
> >>> uninstall process but at the next boot the driver is loaded again :-(.
> >>>
> >>> I tried to avoid this driver to load at boot commenting lines that
> >>> refers
> >>> to it (device id is *PNP0B00) at c:\Windows\Inf\machine.inf
> >>>
> >>> ;%*PNP0B00.DeviceDesc% = NO_DRV_X, *PNP0B00 ; Real Time Clock
> >>>
> >>> ;*pnp0b00.DeviceDesc=“System CMOS/real time clock”
> >>>
> >>> and then regenerate machine.pnf, but the driver still loads.
> >>>
> >>> Then I also commented on machine.inf_loc:
> >>>
> >>> ;*pnp0b00.DeviceDesc=“System CMOS/real time clock”
> >>>
> >>> but the driver still loads :-(.
> >>>
> >>> I also found another instances of these files on other dirs and
> >>> commented
> >>> it, but with no luck.
> >>>
> >>> I thought that machine.inf specifies the drivers to load at boot but it
> >>> seams that do not.
> >>> Can anyone tell me what am I missing?
> >>>
> >>> There is another way to prevent a system driver like cmos/rtc to load
> >>> at
> >>> boot?
> >>>
> >>> I would appreciate any suggestions on this issue.
> >>> Thanks
> >>>
> >>
> >>
> >> —
> >> NTDEV is sponsored by OSR
> >>
> >> OSR is HIRING!! See http://www.osr.com/careers
> >>
> >> For our schedule of WDF, WDM, debugging and other seminars visit:
> >> http://www.osr.com/seminars
> >>
> >> To unsubscribe, visit the List Server section of OSR Online at
> >> http://www.osronline.com/page.**cfm?name=ListServer<
> http://www.osronline.com/page.cfm?name=ListServer>
> >>
> >>
> >
> >
> > –
> > Helder Daniel
> > UALG - FCT
> > DEEI
> >
> > http://w3.ualg.pt/~hdaniel
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > OSR is HIRING!! See http://www.osr.com/careers
> >
> > For our schedule of WDF, WDM, debugging and other seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of OSR Online at
> > http://www.osronline.com/page.cfm?name=ListServer
>
>
>
> —
> NTDEV is sponsored by OSR
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
–
Helder Daniel
UALG - FCT
DEEI
http://w3.ualg.pt/~hdaniel</http:>