forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

purpose of 0x89f80000~0x89f80040

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
xeph



Joined: 09 Jan 2006
Posts: 6
Location: Korea

PostPosted: Fri Jan 20, 2006 7:53 pm    Post subject: purpose of 0x89f80000~0x89f80040 Reply with quote

here's question.
any of you guys know about purpose of 0x89f80000~0x89f80040?
Back to top
View user's profile Send private message MSN Messenger
jsgf



Joined: 12 Jul 2005
Posts: 254

PostPosted: Fri Jan 20, 2006 8:18 pm    Post subject: Reply with quote

My understanding is that the current SVN toolchain binutils uses the Sony patch.

psp-objdump -d disasembles 0x89f80000~0x89f80040 as
Code:
   0:   89f80000        lwl     t8,0(t7)
   4:   89f80040        lwl     t8,64(t7)

lwl is a standard Mips instruction for unaligned loads, used in conjunction with lwr.

gcc generates bitrev for some of the builtin intrinsics (such as __builtin_ctz), and also implements __builtin_allegrex_bitrev(). You can easily test whether it does the right thing.
Back to top
View user's profile Send private message Visit poster's website
xeph



Joined: 09 Jan 2006
Posts: 6
Location: Korea

PostPosted: Fri Jan 20, 2006 8:27 pm    Post subject: Reply with quote

sorry about bitrev thing. i misunderstood.

btw, question about 0x89f80000 is about memory map.
Back to top
View user's profile Send private message MSN Messenger
korskarn



Joined: 31 Dec 2005
Posts: 15

PostPosted: Fri Jan 20, 2006 10:23 pm    Post subject: Reply with quote

Did you find anything of interest in that address range?
This is in the nromal user main ram which is 24 megs between 0x88800000 - 0x89FFFFFF so I guess it could be just about anything...

It's the user main ram, but from the cache kernel memory segment. The same physicaly memory is mapped at more than one address, and these 24 megs are mapped at the following addresses, so that might xplain why you didn't recognize the address as user main ram:

0x08800000 - 0x09FFFFFF - user segment, cached
0x48800000 - 0x49FFFFFF - user segment, uncached
0x88800000 - 0x89FFFFFF - kernel segment, cached (accessible only in kernel mode)
0xA8800000 - 0xA9FFFFFF - kernel segment, uncached (accessible only in kernel mode)


The following is a result of a memory scan I made in kernel mode. My scan consisted in attempting to read all the memory in 1 Mb chunks (except around the scratchpad where I went to 1 Kb chunks), and check if I was getting an exception or not:

Code:

0x0000000 - 0x3FFFFFFF: KUSEG0 (cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0x00000000 - 0x0000FFFF  64.00 Kb   N/A
OK   0x00010000 - 0x00013FFF  16.00 Kb   Scratchpad
BAD   0x00014000 - 0x03FFFFFF  63.92 Mb   N/A
OK   0x04000000 - 0x047FFFFF   8.00 Mb   VRAM + ???
BAD   0x04800000 - 0x087FFFFF  64.00 Mb   N/A
OK   0x08800000 - 0x09FFFFFF  24.00 Mb   User memory
BAD   0x0A000000 - 0x1DFFFFFF 320.00 Mb   N/A
OK   0x1E000000 - 0x1EFFFFFF  16.00 Mb   ???
BAD   0x1F000000 - 0x3FFFFFFF 528.00 Mb   N/A

0x4000000 - 0x7FFFFFFF: KUSEG1 (non-cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0x40000000 - 0x4000FFFF  64.00 Kb   N/A
OK   0x40010000 - 0x40013FFF  16.00 Kb   Scratchpad
BAD   0x40014000 - 0x43FFFFFF  63.92 Mb   N/A
OK   0x44000000 - 0x447FFFFF   8.00 Mb   VRAM + ???
BAD   0x44800000 - 0x487FFFFF  64.00 Mb   N/A
OK   0x48800000 - 0x49FFFFFF  24.00 Mb   User memory
BAD   0x4A000000 - 0x5DFFFFFF 320.00 Mb   N/A
OK   0x5E000000 - 0x5EFFFFFF  16.00 Mb   ???
BAD   0x5F000000 - 0x7FFFFFFF 528.00 Mb   N/A

0x8000000 - 0x9FFFFFFF: KSEG0 (cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0x80000000 - 0x8000FFFF  64.00 Kb   N/A
OK   0x80010000 - 0x80013FFF  16.00 Kb   Scratchpad
BAD   0x80014000 - 0x83FFFFFF  63.92 Mb   N/A
OK   0x84000000 - 0x847FFFFF     8.00 Mb   VRAM
BAD   0x84800000 - 0x87FFFFFF  56.00 Mb   N/A
OK   0x88000000 - 0x883FFFFF   4.00 Mb   Kernel memory
BAD   0x88400000 - 0x887FFFFF   4.00 Mb   N/A
OK   0x88800000 - 0x89FFFFFF  24.00 Mb   User memory
BAD   0x8A000000 - 0c9BFFFFFF 288.00 Mb   N/A
OK   0x9C000000 - 0x9C6FFFFF   7.00 Mb   ???
BAD   0x9C700000 - 0x9C7FFFFF   1.00 Mb   N/A
OK   0x9C800000 - 0x9CAFFFFF   3.00 Mb   ???
BAD   0x9CB00000 - 0x9CFFFFFF   5.00 Mb   N/A
OK   0x9D000000 - 0x9D4FFFFF   5.00 Mb   ???
BAD   0x9D500000 - 0x9D5FFFFF   1.00 Mb   N/A
OK   0x9D600000 - 0x9D7FFFFF   2.00 Mb   ???
BAD   0x9D800000 - 0x9DDFFFFF   6.00 Mb   N/A
OK   0x9DE00000 - 0x9FFFFFFF  34.00 Mb   ???

0xA000000 - 0xBFFFFFFF: KSEG1 (non-cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0xA0000000 - 0xA3FFFFFF  64.00 Mb   N/A
OK   0xA4000000 - 0xA47FFFFF     8.00 Mb   VRAM
BAD   0xA4800000 - 0xA7FFFFFF  56.00 Mb   N/A
OK   0xA8000000 - 0xA83FFFFF   4.00 Mb   Kernel memory
BAD   0xA8400000 - 0xA87FFFFF   4.00 Mb   N/A
OK   0xA8800000 - 0xA9FFFFFF  24.00 Mb   User memory
BAD   0xAA000000 - 0xBBFFFFFF 288.00 Mb   N/A
OK   0xBC000000 - 0xBC6FFFFF   7.00 Mb   ???
BAD   0xBC700000 - 0xBC8FFFFF   1.00 Mb   N/A (the BC8 range should be readable...?)
OK   0xBC900000 - 0xBCAFFFFF   3.00 Mb   ???
BAD   0xBCB00000 - 0xBCFFFFFF   5.00 Mb   N/A (the BCC range should be readable...?)
OK   0xBD000000 - 0xBD4FFFFF   5.00 Mb   ???
BAD   0xBD500000 - 0xBD5FFFFF   1.00 Mb   N/A (the BD5 range should be readable...?)
OK   0xBD600000 - 0xBD7FFFFF   2.00 Mb   ??? (slow to read)
BAD   0xBD800000 - 0xBDDFFFFF   6.00 Mb   N/A (the BD8, BDC and BDF ranges should be readable...?)
OK   0xBDE00000 - 0xBFFFFFFF  34.00 Mb   ???

0xC000000 - 0xDFFFFFFF: KSSEG (cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0xC000000 - 0xDFFFFFFF 512.00 Mb   N/A

0xE000000 - 0xFFFFFFFF: KSSEG (cached)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
BAD   0xE000000 - 0xFFFFFFFF 512.00 Mb   N/A
Back to top
View user's profile Send private message
jsgf



Joined: 12 Jul 2005
Posts: 254

PostPosted: Sat Jan 21, 2006 3:21 am    Post subject: Reply with quote

xeph wrote:
sorry about bitrev thing. i misunderstood.

btw, question about 0x89f80000 is about memory map.

Ah, OK. I interpreted it as instruction encodings because I've been looking at them myself, and the rest of your message (before editing) was about instructions...
Back to top
View user's profile Send private message Visit poster's website
jsgf



Joined: 12 Jul 2005
Posts: 254

PostPosted: Sun Jan 22, 2006 12:28 pm    Post subject: Reply with quote

korskarn wrote:

Code:

OK   0x04000000 - 0x047FFFFF   8.00 Mb   VRAM + ???

The 1st 2MB is the VRAM, and then there are 3 aliases of the VRAM memory with different rearrangements of the address lines. Look at this thread.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group