|
||||
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) |
|
|
|