PPCGeeks

PPCGeeks (http://forum.ppcgeeks.com/index.php)
-   CDMA TP Development (http://forum.ppcgeeks.com/forumdisplay.php?f=68)
-   -   Guide to changing your pagepool (http://forum.ppcgeeks.com/showthread.php?t=50754)

lafester 01-15-2009 12:17 AM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by gguruusa (Post 641073)
Can't say I've looked at the assembly instructions, but this explanation doesn't jive particularly well (doesn't mean it's wrong, either) with the settings in a stock rom.

like why would a stock rom be set to 12mb dynamic?

interesting point :)

keaolyen 01-15-2009 12:21 AM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by FormerPalmOS (Post 638993)
Write the same value to both occurences of xx 15 or xx 16 - eg 04 15 A0 03 04 15 A0 13 will give you a 16MB page pool.

Is there a typo there (well, something left out)? I follow the first part but I don't think the second part where you state that "04 15 A0 03 04 15 A0 13" will give you a 16MB page pool was all you meant to say...

Shouldn't there have been more? Another string showing "10 16 A0 03 10 16 A0 13" as also giving you a 16MB dynamic page pool?

keaolyen 01-15-2009 12:28 AM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by lafester (Post 641174)
like why would a stock rom be set to 12mb dynamic?

interesting point :)

Why couldn't it be set as 12MB? Is it known to be set as something else?

It wouldn't be dynamic though assuming FormerPalmOS is correct; it would be static.

Forgive me if I'm way off base here, I'm new to this stuff...

FormerPalmOS 01-15-2009 03:32 AM

Re: Guide to changing your pagepool
 
I think the issue is with the definition of static vs. dynamic pagepool, and the specific directions how to change the pagepool and to what and why. My particular point of clarification of misinformation was that you can set a "dynamic" pagepool of size xxx. There is no such option. You can either set a static pagepool size of xxx or set a dynamic page pool. Static means the PP is xxx. Dynamic means the PP size is whatever WM6.1 thinks it should be without regard to how much free ram you may need (or have).

Below is an exerpt from the stock Verizon WM6.1 ROM NK.EXE module, disassembled into ARM instructions, referencing the data structure for setting the page pool. The stock Sprint ROM will have a similar sequence but likely at a different address and definitely with different pagepool sizes. Custom ROMs will also have either different sizes, or will replace the last STR instruction with MOV R0, R0 (effectively a NOP).

I've added everything after a semicolon as commentary, everything to the left of ; is pure ARM code disassembly so there is no subjectivity in interpreting the code. The code basically checks something, and based on whatever that something is determines if it shoudl set a static 12MB or 6MB pagepool. Whatever it checks results in it deciding on a 6MB pagepool for my device stock. The patch I recommend sets xxx MB regardless of the outcome of this check.

0005a06c: e59f3758 ldr r3,#0x5a7cc ; = #0xba0810c0 ; Load R3 with 0xba0810c0
0005a070: e59f0750 ldr r0,#0x5a7c8 ; = #0x80006b90 ; Unrelated register load, might be used in called sub
0005a074: e5933000 ldr r3,[r3,#0] ; Load R3 with data at address 0xba0810c0 + 0x00
0005a078: e3530c01 cmp r3,#0x100 ; Compare R3 with value of 0x100
0005a07c: e59f3740 ldr r3,#0x5a7c4 ; = #0x803d6350 ; Load R3 with 0x803d6350 (pointer to PP size constant)
0005a080: 03a01503 moveq r1,#0xc00000 ; If R3 compare was equal, load R1 with value xC00000 (12MB PP size)
0005a084: 13a01606 movne r1,#0x600000 ; If R3 compare was not equal, load R1 with value 0x600000 (6MB PP size)
0005a088: e5831000 str r1,[r3,#0] ; Store R1 at address 0x803D6350 (location of PP size)

FormerPalmOS 01-15-2009 03:37 AM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by keaolyen (Post 641184)
Is there a typo there (well, something left out)? I follow the first part but I don't think the second part where you state that "04 15 A0 03 04 15 A0 13" will give you a 16MB page pool was all you meant to say...

Shouldn't there have been more? Another string showing "10 16 A0 03 10 16 A0 13" as also giving you a 16MB dynamic page pool?

You are correct - 04 15 will yield the same pagepool size as 10 16. However in either case it will be a static page pool of size = 16MB. There is no concept of a dynamic pagepool of size xxx. Dynamic pagepool size is whatever size Windows Mobile thinks it needs to be up to the limit of available RAM.

keaolyen 01-15-2009 11:36 AM

Re: Guide to changing your pagepool
 
Yeah, while I had already gotten the point it hadn't fully sunk in when I made that post. That took somewhere around 7 more minutes (if you notice my next post pointing that out). ;-)

keaolyen 01-15-2009 11:42 AM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by FormerPalmOS (Post 641444)
The code basically checks something, and based on whatever that something is determines if it shoudl set a static 12MB or 6MB pagepool. Whatever it checks results in it deciding on a 6MB pagepool for my device stock. The patch I recommend sets xxx MB regardless of the outcome of this check.

So you're using a static page pool. Why wouldn't one always use a dynamic page pool assuming you've got plenty of available RAM?

gguruusa 01-15-2009 12:19 PM

Re: Guide to changing your pagepool
 
Quote:

Originally Posted by FormerPalmOS (Post 641444)
You can either set a static pagepool size of xxx or set a dynamic page pool. Static means the PP is xxx. Dynamic means the PP size is whatever WM6.1 thinks it should be without regard to how much free ram you may need (or have).

Where'd that definition of dynamic come from? I can envision several strategies for dynamic beyond that one.

keaolyen 01-15-2009 02:10 PM

Re: Guide to changing your pagepool
 
i can only think of 1 or 2 other possibilities...

1) static keeps data in page pool on reset where static doesn't; normally this would be called volatile memory though...
2) static is always in the same physical location while dynamic moves around...

If a dynamic page pool doesn't mean that it changes in size as needed then I would think option 1 would be the most likely definition. But, as I pointed out there's already a term for that...

keaolyen 01-16-2009 01:41 AM

Re: Guide to changing your pagepool
 
bump...


All times are GMT -4. The time now is 08:40 PM.

Powered by vBulletin® ©2000 - 2025, Jelsoft Enterprises Ltd.
©2012 - PPCGeeks.com


Content Relevant URLs by vBSEO 3.6.0