Deutsch   English   Français   Italiano  
<f9e2c222349934ce0d6d9cda5b55f8b7@www.novabbs.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: PCIe MSI-X interrupts
Date: Tue, 25 Jun 2024 00:50:46 +0000
Organization: Rocksolid Light
Message-ID: <f9e2c222349934ce0d6d9cda5b55f8b7@www.novabbs.org>
References: <bb16865f7675526d4e2b87283e28c2c5@www.novabbs.org> <sKmdO.62321$G9_a.28048@fx13.iad> <bejeO.24905$Gurd.6236@fx34.iad> <8JkeO.30075$WaKd.3069@fx41.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="1081085"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="65wTazMNTleAJDh/pRqmKE7ADni/0wesT78+pyiDW8A";
User-Agent: Rocksolid Light
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Site: $2y$10$b2/B0/VW5iiqzLkw.83sNeBmu10PiSgi9lBkUJf7e0zJyJNfNlZIW
Bytes: 2784
Lines: 42

Scott,

Can you foresee any problem is I define the positions in the
physical address space as: <ECAM: My 66000-style>::

     <1:0>     must be 00 for word access
     <2:7>     standard MMI/O register
     <12:8>    extended MMI/O register
     <25:13>   growth space for registers or for functions
     <32:26>   PCIe Device, Function
     <40:32>   PCIe Bus
     <56:41>   PCIe Segment
     <63:57>   Chip

This effectively gives each B;D,F a 25-bit address space and
65K segments and up to 32 chips on a motherboard. Need more
space for functions? take as many bits as you like from the
left hand side. Need more register room? take bits from the
right hand side. Need more bits for Chip? Steal them from
PCIe segment.

I wanted to move B;D,F up a bit to separate it from the I/O
registers which will likely come out of a memory reference
immediate, and I wanted to position B from D,F across a MMU
translation level boundary.

I am expecting the code touching the MMI/O register to have
a virtual address pointer to B;D,F and use the 16-bit immediate
field of the LD or ST as the register specifier:

     ST    #command7,[Rdevice,#registername]

--------------------------------------------------------------
I am expecting to use the Chip field to route requests between
chips. It is plausible that physical device sends an interrupt
from its PCIe segment across one-or-more chips before arriving
at the interrupt service port in a particular chips last level
cache. Other than latency its all part of a large coherent DRAM
space.

Is that plausible ? desirable ? or are there reasons to keep
interrupt processing "more local" to the chip hosting the PCIe
root complexes ?? {in any event, that is all under SW control.|