|
||||
Re: Guide to changing your pagepool
Quote:
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? |
|
||||
Re: Guide to changing your pagepool
Quote:
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... Last edited by keaolyen; 01-15-2009 at 12: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)
__________________
ROM: WM6.5 nk.exe (Da_G), sys 23518 (Da_G), VZW OEM pack (scrosler)
Apps: Manila 2.1 (yozgatag), Leo dialer (pyrorob) |
|
||||
Re: Guide to changing your pagepool
Quote:
|
|
||||
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).
![]() |
|
||||
Re: Guide to changing your pagepool
Quote:
|
|
||||
Re: Guide to changing your pagepool
Where'd that definition of dynamic come from? I can envision several strategies for dynamic beyond that one.
__________________
Grammar: The difference between knowing your shit and knowing you're shit.
|
|
||||
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... Last edited by keaolyen; 01-16-2009 at 01:42 AM. |
![]() |
|
|
|