PPCGeeks Forums HTC Arrive HTC HD2 HTC Thunderbolt HTC Touch Pro 2 HTC Evo 4G HTC Evo 3D Samsung Galaxy S II Motorola Droid X Apple iPhone Blackberry
Go Back   PPCGeeks > Windows Mobile > WM HTC Devices > HTC Touch Pro > CDMA TP Development
Register Community Search

Notices


 
 
LinkBack Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #11 (permalink)  
Old 01-15-2009, 03:32 AM
FormerPalmOS's Avatar
Regular 'Geeker
Offline
Pocket PC: HTC Touch Pro
Carrier: Verizon
Location: Far far away...
 
Join Date: Nov 2008
Posts: 359
Reputation: 1355
FormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on repFormerPalmOS is halfway to VIP status based on rep
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
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)
Reply With Quote
 

  PPCGeeks > Windows Mobile > WM HTC Devices > HTC Touch Pro > CDMA TP Development


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 11:54 PM.


Powered by vBulletin® ©2000 - 2025, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
©2012 - PPCGeeks.com