delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
From: | ahenric AT ccii DOT co DOT za (Arne) |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Hardware interrupt stack and task switching |
Date: | 3 Oct 2003 02:38:02 -0700 |
Organization: | http://groups.google.com |
Lines: | 19 |
Message-ID: | <e74abcbf.0310030138.7f4cf754@posting.google.com> |
NNTP-Posting-Host: | 196.30.62.5 |
X-Trace: | posting.google.com 1065173883 27384 127.0.0.1 (3 Oct 2003 09:38:03 GMT) |
X-Complaints-To: | groups-abuse AT google DOT com |
NNTP-Posting-Date: | Fri, 3 Oct 2003 09:38:03 +0000 (UTC) |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Hi, I am trying to get uC/OS-II (the real-time kernel) to work under DOS. I can do task level switching, but it seems like one cannot do task switching from a hardware interrupt routine. What I have noticed is that the stack pointer in the ISR is not the same as that from the interrupted task. Now what I have read is that DOS sometimes allocates stacks for HW ISRs, but that one can disable this with the STACKS=0,0 statement in config.sys. This unfortunately does not change anything for me. So my question: is the DPMI host allocating stacks for each HW ISR? If that is so, how can I do task switching from the ISR? Is it at all possible? I have hooked up my hardware interrupt with the function _go32_dpmi_set_protected_mode_interrupt_vector(). Is there a better way? Thanks Arne
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |