Deutsch English Français Italiano |
<vs0mg1$1jef9$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Robert Finch <robfi680@gmail.com> Newsgroups: comp.arch Subject: Re: MSI interrupts - Instructions Date: Wed, 26 Mar 2025 06:56:00 -0400 Organization: A noiseless patient Spider Lines: 20 Message-ID: <vs0mg1$1jef9$1@dont-email.me> References: <vqto79$335c6$1@dont-email.me> <53b8227eba214e0340cad309241af7b5@www.novabbs.org> <3pXAP.584096$FVcd.26370@fx10.iad> <795b541375e3e0f53e2c76a55ffe3f20@www.novabbs.org> <vNZAP.37553$D_V4.18229@fx39.iad> <aceeec2839b8824d52f0cbe709af51e1@www.novabbs.org> <eM_AP.81303$8rz3.7843@fx37.iad> <vr2nj9$2goqe$1@dont-email.me> <f2cb846242dbfcef1efa59b92763a965@www.novabbs.org> <vr4ovm$9fl5$1@dont-email.me> <1681197d3c1af131d6b8cae884f7c9ca@www.novabbs.org> <vr7g76$2jnqm$1@dont-email.me> <8BVBP.816276$eNx6.247046@fx14.iad> <20250317161132.00004dd9@yahoo.com> <1WZBP.558392$SZca.243157@fx13.iad> <vra3bv$teuf$1@dont-email.me> <ohjCP.37185$SVG3.13173@fx42.iad> <vrcqcr$3ddah$1@dont-email.me> <ZRCCP.595878$BrX.126145@fx12.iad> <vrf712$1h233$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 26 Mar 2025 11:56:01 +0100 (CET) Injection-Info: dont-email.me; posting-host="ceebc71e485ba32e0d00d9f589df632b"; logging-data="1685993"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18g26SpBxkjCdoOB1840FgJFqRk9k1cOGs=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Z/zWPw6ReZPLf8ZDWRkMAtDrrz4= Content-Language: en-US In-Reply-To: <vrf712$1h233$1@dont-email.me> Bytes: 2846 Working on a simple OS I thought it might be useful to be able to poll for interrupts when interrupts are disabled. I think there may be times where it is acceptable to process certain kinds of interrupts even if they were disable. So, I added a poll-for-interrupt instruction to the architecture. Which just checks for interrupts and continues if there is not one. I have seen wait-for-interrupt instructions before, but not sure about polling. I also added a two-up-level return from interrupt instruction. I have not seen this in other architectures, but I needed it at one point. Interrupt information is stored on an internal stack, and it is tricky (slow) to manipulate it for a two-up-level return. It is an eight level stack with two or three words of information per level. It was a bit much to copy it all in software, so I added the hardware return. But it is a lot of extra hardware for a very rare occurrence. Finding this discussion on interrupts informative. I have only done a modicum of work on an OS; tried to get things working with spinlocks.