Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-dd-dev] RE: [dsdp-tm-dev] Target/Boarddescriptionrequirements: your thoughtsrequested

Aaron,

Thanks for the reply.  I don't have commit rights.  Doug, will you
upload the document?

See more comments below.

> -----Original Message-----
> From: dsdp-dd-dev-bounces@xxxxxxxxxxx 
> [mailto:dsdp-dd-dev-bounces@xxxxxxxxxxx] On Behalf Of Spear, Aaron
> Sent: Monday, April 10, 2006 8:51 PM
> To: Device Debugging developer discussions; Target Management 
> developer discussions
> Subject: RE: [dsdp-dd-dev] RE: [dsdp-tm-dev] 
> Target/Boarddescriptionrequirements: your thoughtsrequested
> 
> Hi Felix,
> 
> some more input inline below.  Also, could one of you that has commit
> writes on the Wiki post this updated version of the doc?
> ftp://ftp.mentor.com/pub/outgoing/DSDP_target_definition_requi
> rements.do
> c (still working with the legal dept you know.  What fun!)
> 
> This update contains comments from Anthony Berent from ARM on 
> each item
> that details what is in SPIRIT right now and what would have to be
> added.  This version also fixes my embarrassing misspellings 
> (I typed it
> very fast very late one night)
> 
> cheers,
> Aaron
> 
> 
> > -----Original Message-----
> > From: dsdp-dd-dev-bounces@xxxxxxxxxxx 
> > [mailto:dsdp-dd-dev-bounces@xxxxxxxxxxx] On Behalf Of Burton, Felix
> > Sent: Monday, April 10, 2006 7:33 PM
> > To: Target Management developer discussions; dsdp-dd-dev@xxxxxxxxxxx
> > Subject: [dsdp-dd-dev] RE: [dsdp-tm-dev] Target/Board 
> > descriptionrequirements: your thoughtsrequested
> > 
> > Aaron,
> > 
> > Sorry for the late response.  Here are my questions/comments:
> > 
> > 3.1:  Does Memory Mapped registers include I/O ports like 68k 
> > use to have?  I assume the I/O space should be considered to 
> > be another memory space, right?
> 
> yes, I/O space like in 68k or x86 for that matter would be another
> separate address space.  Registers would be defined relative to some
> base address (which itself contained the address space reference some
> how)
> 
> > 3.2.10: Having bitfield be below registers does not allow 
> > bitfields to cross multiple registers.  What if bitfield are 
> > made a top level notion that can refer to one or more 
> > registers?  Another solution would be to be able to create 
> > "virtual" registers from one or more physical ones.
> 
> Hmm. I had not considered that.  In most cases that I have seen it is
> most intuitive to think of the bitfield as a child of a 
> single register.
> Are you thinking of a particular example where you have a 
> bitfield that
> spans multiple registers?  would it be something like a 64 
> bit bitfield
> that was contained in two 32 bit registers?  Or some weird 
> architecture
> that decided to map a 16 bit bitfield across multiple registers? (most
> likely a backwards compatibility hack).  

I don't have a particular example of a bitfield spanning multiple
registers, but I would not be surprised to see it.  I was thinking about
the PowerPC timer registers TBU/TBL when I write this.

> One of the other things that I had in there for bitfields in 3.2.10.4
> was "Post-read/Pre-write formulas".  My intention was to deal 
> with cases
> where it is for example most intuitive to view a value as a 32 bit
> address when in reality the bit field is the top 17 bits of 
> the address
> for example.  In this case the post read formula would left shift the
> value, and the pre-write formula would mask and then right shift the
> value.  perhaps this concept could be extended to include where the
> value is read from (as opposed to having it implied since it 
> is a child
> of the parent register.
>  
> My gut reaction is that I like the idea of the virtual registers and a
> bit field being a child of it.  You could still do whatever weird
> masking and shifting on the bits you wanted in the bit field formula.
> Of course we would need the same sort of mechanism, a formula that is,
> to construct the virtual register from constituent parts as well. Hmm.

I like this.  Seems very flexibile.

> > 3.3.1: I think this should be moved to the common section and 
> > be optional.
> 
> Yes, it should be optional, that was an oversight.  However, 
> I am a bit
> confused why the compiler/assembly to register id string mapping would
> be shared between "native registers" (maybe better to call them "core
> registers"?) and memory mapped registers.  have you seen 
> compilers that
> generate register indexes in dwarf info or the like for memory mapped
> registers?  Seems like they wouldn't bother but would create absolute
> addresses in the debug info for them...

I have not seen this yet.  I am just trying to keep this general and
flexibile where it does not add cost/overhead.  If you feel it would add
cost/overhead I am open to keep it the original way.

> > 
> > 3.4.1: Can there be multiple "base address"?
> 
> Do you mean so that the same peripheral is aliased in multiple
> locations?  Or are you talking about multiple instances?  Separate
> instances (e.g. UART0, UART1, UART2...) would of course have different
> base addresses.

I meant the latter.  Now that I think about it it is obvious that it is
supported :-}

Felix

> > 
> > 4.1.4: I don't understand "2^32 + 1  == 0x1 0000 0000".  
> > Should it not be "2^32 == 0x1 0000 0000"?
> 
> Wow, what a brain fart!  What I was trying to reiterate was that the
> total number of units in an address space was the top address 
> + 1, e.g.
> 0xFFFFFFFF + 1.  Not sure how I thought that was 2^32.  On a related
> topic (brain-fart prevention), you all will be pleased to know that
> SPIRIT allows you to define unit counts with integers as well 
> as strings
> like "4K", "64M", "4G", "128k" etc.  Which greatly reduces 
> the chance of
> people screwing it up. ("lets see, I have 128k of RAM, so what is the
> unit count in hex? 0x1ffff?" OOPS! Mysterious "debugger bugs" 
> that take
> hours to track down!)
>  
> > Thanks,
> > Felix
> > 
> > > -----Original Message-----
> > > From: dsdp-tm-dev-bounces@xxxxxxxxxxx 
> > > [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Spear, Aaron
> > > Sent: Wednesday, March 01, 2006 7:32 AM
> > > To: dsdp-tm-dev@xxxxxxxxxxx; dsdp-dd-dev@xxxxxxxxxxx
> > > Subject: [dsdp-tm-dev] Target/Board description requirements: 
> > > your thoughtsrequested
> > > 
> > > Hello everyone,
> > > 
> > > After the Toronto meeting I went ahead and took my 
> > presentation, along 
> > > with notes that I took from everyone while we were 
> > brainstorming, and 
> > > cobbled together a first pass requirements document 
> > regarding target 
> > > information needed for debugging purposes.  Doug has posted 
> > it in the 
> > > downloads section of the Wiki site at:
> > > http://wiki.eclipse.org/index.php/DSDP/DD/Spirit.  
> > > 
> > > Note that the purpose of this document is purely requirements 
> > > gathering at this point.  I suppose the idea that it will 
> > be XML might 
> > > be implied, but I tried to steer away from explicitly saying how 
> > > anything should be done.
> > > 
> > > The document in its current form has a first cut at 
> > information about 
> > > memory maps and registers, and a bit of information about cores 
> > > (nowhere near complete).  It is also missing scan chain 
> > information, 
> > > so that would be great if folks could speak to that.
> > > 
> > > Here is my plan for moving forward:
> > > 1) solicit feedback from everyone in this community regarding the 
> > > requirements themselves
> > > 2) add these additional requirements to the document
> > > 3) goto 1 as until we stabilize...
> > > 4) Approach SPIRIT with these requirements to see where 
> we go from 
> > > here...
> > > 
> > > My colleague John Wilson, who has been Mentor Graphics 
> > representative 
> > > on the SPIRIT steering committee, tells me that they are having a 
> > > SPIRIT roadmap meeting the first week of March to decide 
> on future 
> > > directions for SPIRIT.  He also said that ARM has 
> > apparently already 
> > > pushed for debugger topics to be a part of the agenda, 
> > which is great.  
> > > (Anthony, was that you that introduced that?)  Yes, today 
> is March 
> > > 1st, so we might have missed the opportunity to actually submit 
> > > something for the meeting, but this document might help the 
> > > discussion.
> > > 
> > > I think it would be great if we could have a tangible set of 
> > > requirements finished, and from that create a document to 
> > present to 
> > > the SPIRIT community the set of information that we see 
> as missing 
> > > from the SPIRIT spec to make it truly useful for debugging.
> > > 
> > > the floor is open!
> > > Aaron
> > > 
> > > --
> > > Aaron Spear
> > > Debug Tools Architect/Staff Engineer
> > > Accelerated Technology a Mentor Graphics Division 
> > > _______________________________________________
> > > dsdp-tm-dev mailing list
> > > dsdp-tm-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
> > > 
> > _______________________________________________
> > dsdp-dd-dev mailing list
> > dsdp-dd-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev
> > 
> _______________________________________________
> dsdp-dd-dev mailing list
> dsdp-dd-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev
> 


Back to the top