Hi Kevin,

as you may have seen in #htc-linux I have some problems booting pH5's/my 
version of the android msm tree on kaiser. We added up a machine type for 
kaiser removing the unnecessary hardware for halibut evaluation board and added 
vsfb support. Plus some other changes (I think earlier init of vsfb and some 
early debugging things). See the attached kaiser-msm.diff for detail. 

When I hit the run button in haret (haret-20071122.exe) to start the bootscript 
(attached as default.txt) a loading bar appears. This reaches its end and then 
a Go Go Go.. appears. The screen of kaiser freezes at that state and the device 
does nothing at all and stays at the same screen with the haret loading bar( 
waited 10 minutes ). I attached the haretlog.txt (produced by creating empty 
earlharetlog.txt)

Now pH5 told me usually at least the screen should be painted black and some 
init lines should appear. So he cooked up the patches I mentioned above with 
early init of vsfb and debugging stuff. Also he let me input some commands from 
haretconsole, to see if haret has access to the framebuffer. Obviously it does:

on "VFH 0x51b00000 76800 0xffff" I get complete white screen on kaiser
on "print "%x" P2V(0x10010000)" Kaiser repeats "2a0000"

pH5 took from this that it is no problem with the framebuffer access and had no 
further ideas, telling me to contact you about the problem.
"19:01.31       pH5     after "go go go" it should disable interrupts in 
take_control() and the next thing that should happen is a fb_clear, which would 
turn the screen black.
19:02.38        pH5     dcordes_: maybe disabling interrupts doesn't work as 
easily on kaiser. or maybe haret just doesn't have the correct frame buffer 
information.
19:03.01        pH5     that is Kevin2's area of expertise"
(I attached the reffering log entriese from that day)

Maybe you have any ideas what might be wrong.
Thank you very much

Lukas
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 7898cbc..57bbccd 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -32,7 +32,79 @@
 #define ATAG_CORE 0x54410001
 #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
 
+/*
+ * debug macros, while the MMU is of
+ */
+.macro	pix_ok /* blue */
+#ifdef CONFIG_EFB_DEBUG
+	mov	r12, #0x0014
+	add	r12, r12, #0x00140000
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	add	r11, r11, #4
+#endif
+.endm
+	
+.macro	pix_ko /* red */
+#ifdef CONFIG_EFB_DEBUG
+	mov	r12, #0xF800
+	add	r12, r12, #0xF8000000
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	add	r11, r11, #4
+#endif
+.endm
 
+.macro	pix_ctr /* white */
+#ifdef CONFIG_EFB_DEBUG
+	mov	r12, #-1
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	str	r12, [r11]
+	add	r11, r11, #4
+	add	r11, r11, #4
+#endif
+.endm
+	
+/*
+ * a more mmu aware code: the frame buffer is mapped at 0xD0001020,
+ * see arch/arm/mach-omap/debug.c
+ */
+.macro pix_mmu /* black pixel */
+#ifdef CONFIG_EFB_DEBUG
+	mov	r11, #0xD0000000
+	add	r11, r11, #0x1000
+	add	r11, r11, #0x20
+/*	mov     r12, #0x00FF */
+/* 	add     r12, r12, #0x00FF0000 */
+	mov	r12, #0
+	str     r12, [r11]
+	add     r11, r11, #4
+	str     r12, [r11]
+	add     r11, r11, #4
+	str     r12, [r11]
+	add     r11, r11, #4
+	str     r12, [r11]
+	add     r11, r11, #4
+#endif
+.endm
+	
 /*
  * swapper_pg_dir is the virtual address of the initial page table.
  * We place the page tables 16K below KERNEL_RAM_VADDR.  Therefore, we must
@@ -80,15 +152,22 @@
 	.section ".text.head", "ax"
 	.type	stext, %function
 ENTRY(stext)
+	pix_ok
 	msr	cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
 						@ and irqs disabled
 	mrc	p15, 0, r9, c0, c0		@ get processor id
 	bl	__lookup_processor_type		@ r5=procinfo r9=cpuid
 	movs	r10, r5				@ invalid processor (r5=0)?
 	beq	__error_p			@ yes, error 'p'
+
+	pix_ok
+
 	bl	__lookup_machine_type		@ r5=machinfo
 	movs	r8, r5				@ invalid machine (r5=0)?
 	beq	__error_a			@ yes, error 'a'
+
+	pix_ok
+
 	bl	__vet_atags
 	bl	__create_page_tables
 
@@ -192,11 +271,17 @@ __enable_mmu:
 	.align	5
 	.type	__turn_mmu_on, %function
 __turn_mmu_on:
+
+	pix_ok
+
 	mov	r0, r0
 	mcr	p15, 0, r0, c1, c0, 0		@ write control reg
 	mrc	p15, 0, r3, c0, c0, 0		@ read id reg
 	mov	r3, r3
 	mov	r3, r3
+
+	pix_mmu
+
 	mov	pc, r13
 
 
@@ -327,6 +412,18 @@ __create_page_tables:
 	str	r3, [r0]
 #endif
 #endif
+
+#ifdef CONFIG_EFB_DEBUG
+	/*
+	 * map frame buffer from 0x10000000 to 0xD0000000
+	 * in order to help debugging
+	 */
+	add	r0, r4, #0xD0000000 >> 18
+	mov	r3, #0x10000000
+	add	r3, r3, r7
+	str	r3, [r0]
+#endif
+
 	mov	pc, lr
 	.ltorg
 
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 4de432e..b2072a8 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -33,6 +33,8 @@
 #include <asm/cacheflush.h>
 #include <asm/tlbflush.h>
 
+#include <asm/arch/efb.h>
+
 #include <asm/mach/arch.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
@@ -814,6 +816,16 @@ void __init setup_arch(char **cmdline_p)
 	memcpy(boot_command_line, from, COMMAND_LINE_SIZE);
 	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 	parse_cmdline(cmdline_p, from);
+
+#ifdef CONFIG_EFB_DEBUG
+	/*
+	 * paging_init is going to wipe out any section other than the
+	 * kernel code and data allocated in head.S so the framebuffer
+	 * is going not to be available during paging_init.
+	 */
+	efb_disable();
+#endif
+
 	paging_init(&meminfo, mdesc);
 	request_standard_resources(&meminfo, mdesc);
 
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index fc1d2fd..f18404c 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -59,6 +59,12 @@ config MSM_HW3D
 	  Provides access to registers and interrupts needed by
 	  the userspace 3D library.
 
+config EFB_DEBUG
+	bool "Early Frame Buffer debugging routines"
+	depends on MACH_HTCKAISER
+	help
+	  Output in the framebuffer of the HTC phones as early as possible.
+
 config KAISER_LCD
 	tristate "HTC Kaiser VSFB LCD support"
 	depends on MACH_HTCKAISER && LCD_CLASS_DEVICE
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 11d786d..80c6e0c 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -11,5 +11,5 @@ obj-$(CONFIG_MSM_SMD_RPC_ROUTER) += smd_rpcrouter.o
 obj-$(CONFIG_MSM_SMD_QMI) += smd_qmi.o
 obj-$(CONFIG_MSM_HW3D) += hw3d.o
 
+obj-$(CONFIG_EFB_DEBUG) += efb.o efb-font5x5.o
 obj-$(CONFIG_HTCKAISER_LCD) += htckaiser_lcd.o
-
diff --git a/arch/arm/mach-msm/board-htckaiser.c b/arch/arm/mach-msm/board-htckaiser.c
index d384a2d..52c6141 100644
--- a/arch/arm/mach-msm/board-htckaiser.c
+++ b/arch/arm/mach-msm/board-htckaiser.c
@@ -26,6 +26,7 @@
 #include <asm/mach/flash.h>
 
 #include <asm/arch/board.h>
+#include <asm/arch/efb.h>
 
 #include <asm/io.h>
 #include <asm/delay.h>
@@ -125,6 +126,10 @@ static void __init htckaiser_map_io(void)
 	printk("ktckaiser_init_map_io()\n");
 	msm_pmrr_config();
 	iotable_init(msm_io_desc, ARRAY_SIZE(msm_io_desc));
+
+#ifdef CONFIG_EFB_DEBUG
+	efb_enable();
+#endif
 }
 
 MACHINE_START(HTCKAISER, "HTC Kaiser")
set MTYPE 1553
set KERNEL zImage
set CMDLINE console=tty0
bootlinux

===== HaRET pre-0.5.1-20071121_210626 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function '?GXOpenDisplay@@YAHPAUHWND__@@[EMAIL PROTECTED]' in library 'gx' at 
025F19EC
Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 025F1DD8
Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 025F12A8
Function '?GXEndDraw@@YAHXZ' in library 'gx' at 025F136C
Function 'LoadLibraryExW' in library 'coredll' at 03F65FE0
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 03F6C9A8
Function 'SleepTillTick' in library 'coredll' at 03F65F00
Function 'AllocPhysMem' in library 'coredll' at 03F65E38
Function 'FreePhysMem' in library 'coredll' at 03F65EA4
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 02E3D05C
Function 'Process32First' in library 'toolhelp' at 02E3D140
Function 'Process32Next' in library 'toolhelp' at 02E3D1AC
Function 'Module32First' in library 'toolhelp' at 02E3D340
Function 'Module32Next' in library 'toolhelp' at 02E3D3B0
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 02E3D07C
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting memory
WinCE reports memory size 117440512 (phys=106303488 store=143679488)
Detecting current machine
Trying to detect machine (Plat='PocketPC' OEM='Kaiser')
Wince reports processor: core=MSM7200-400MHz name= cat= vend=QUALCOMM
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3870
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7500
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Looking at arch Generic Intel PXA
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7500
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command TRACES
Registering command RESUMETRACES
Registering command WI|RQ
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command ALTL1TRACE
Registering command MAXL1TRACE
Registering command MAXL1TRACERESUME
Registering command MMUTRACE
Registering command TRACEIGNORE
Registering command TRACEFORWATCH
Registering command PERMISSIVEMMUTRACE
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Generic MSM7500'
HaRET(1)# set ramaddr 0x10000000
HaRET(2)# addlist irqs p2v(0xc0000000) 0x100 32 0
HaRET(3)# addlist gpios p2v(0xa9200800)
HaRET(4)# addlist gpios p2v(0xa9300c00)
HaRET(5)# addlist gpios p2v(0xa9200804)
HaRET(6)# addlist gpios p2v(0xa9200808)
HaRET(7)# addlist gpios p2v(0xa920080c)
HaRET(8)# addlist gpios p2v(0xa9200834)
HaRET(9)# addlist gpios p2v(0xa9300c20)
HaRET(10)# addlist gpios p2v(0xa9200838)
HaRET(11)# addlist gpios p2v(0xa920083c)
HaRET(12)# addlist gpios p2v(0xa9200840)
HaRET(13)# addlist gpios p2v(0xa9200810)
HaRET(14)# addlist gpios p2v(0xa9300c08)
HaRET(15)# addlist gpios p2v(0xa9200814)
HaRET(16)# addlist gpios p2v(0xa9200818)
HaRET(17)# addlist gpios p2v(0xa920081c)
Welcome, this is HaRET pre-0.5.1-20071121_210626 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic MSM7500/MSM7500 (Plat='PocketPC' OEM='Kaiser')
CPU is ARM ARM arch 6 stepping 4 running in system mode
Enter 'HELP' for a short command summary.

Running WSAStartup
Starting gui
In initdialog
Found machine Generic MSM7500
executing startup.txt
HaRET(1)# set MTYPE 1553
HaRET(2)# set KERNEL zImage
HaRET(3)# set CMDLINE console=tty0
HaRET(4)# bootlinux
boot KERNEL=zImage INITRD=
Opening file zImage
boot params: RAMADDR=10000000 RAMSIZE=07000000 MTYPE=1553 CMDLINE='console=tty0'
Boot FB feedback: 1
Built virtual to physical page mapping
Allocated 1002 pages (tags=59700000/160a2000 kernel=59701000/160a1000 
initrd=59AE6000/15cbc000 index=59AE6000/15cbc000)
Built kernel tags area
Built page index
Video buffer at 51B00000 sx=240 sy=320 mx=60 my=53
Video Phys FB=10000000 Fonts=15cba064
Boot FB feedback requested, but FB overlaps with kernel structures - feedback 
disabled
[EMAIL PROTECTED]/15cb9000 sj=59AE9000 stack=59AE7000/15cbb000 
data=59AE8000/15cba000 exec=15cb9128
Reading 4082660 bytes...
Read complete
Launching to physical address 15cb9010
Trampoline setup ([EMAIL PROTECTED]/1c02bef4/11132ef4)
MMU setup: mmu=A0300000/10600000
Go Go Go...

===== HaRET pre-0.5.1-20071121_210626 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function '?GXOpenDisplay@@YAHPAUHWND__@@[EMAIL PROTECTED]' in library 'gx' at 
025F19EC
Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 025F1DD8
Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 025F12A8
Function '?GXEndDraw@@YAHXZ' in library 'gx' at 025F136C
Function 'LoadLibraryExW' in library 'coredll' at 03F65FE0
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 03F6C9A8
Function 'SleepTillTick' in library 'coredll' at 03F65F00
Function 'AllocPhysMem' in library 'coredll' at 03F65E38
Function 'FreePhysMem' in library 'coredll' at 03F65EA4
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 02E3D05C
Function 'Process32First' in library 'toolhelp' at 02E3D140
Function 'Process32Next' in library 'toolhelp' at 02E3D1AC
Function 'Module32First' in library 'toolhelp' at 02E3D340
Function 'Module32Next' in library 'toolhelp' at 02E3D3B0
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 02E3D07C
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting memory
WinCE reports memory size 117440512 (phys=106303488 store=143679488)
Detecting current machine
Trying to detect machine (Plat='PocketPC' OEM='Kaiser')
Wince reports processor: core=MSM7200-400MHz name= cat= vend=QUALCOMM
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3870
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7500
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Looking at arch Generic Intel PXA
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7500
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command TRACES
Registering command RESUMETRACES
Registering command WI|RQ
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command ALTL1TRACE
Registering command MAXL1TRACE
Registering command MAXL1TRACERESUME
Registering command MMUTRACE
Registering command TRACEIGNORE
Registering command TRACEFORWATCH
Registering command PERMISSIVEMMUTRACE
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Generic MSM7500'
HaRET(1)# set ramaddr 0x10000000
HaRET(2)# addlist irqs p2v(0xc0000000) 0x100 32 0
HaRET(3)# addlist gpios p2v(0xa9200800)
HaRET(4)# addlist gpios p2v(0xa9300c00)
HaRET(5)# addlist gpios p2v(0xa9200804)
HaRET(6)# addlist gpios p2v(0xa9200808)
HaRET(7)# addlist gpios p2v(0xa920080c)
HaRET(8)# addlist gpios p2v(0xa9200834)
HaRET(9)# addlist gpios p2v(0xa9300c20)
HaRET(10)# addlist gpios p2v(0xa9200838)
HaRET(11)# addlist gpios p2v(0xa920083c)
HaRET(12)# addlist gpios p2v(0xa9200840)
HaRET(13)# addlist gpios p2v(0xa9200810)
HaRET(14)# addlist gpios p2v(0xa9300c08)
HaRET(15)# addlist gpios p2v(0xa9200814)
HaRET(16)# addlist gpios p2v(0xa9200818)
HaRET(17)# addlist gpios p2v(0xa920081c)
Welcome, this is HaRET pre-0.5.1-20071121_210626 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic MSM7500/MSM7500 (Plat='PocketPC' OEM='Kaiser')
CPU is ARM ARM arch 6 stepping 4 running in system mode
Enter 'HELP' for a short command summary.

Running WSAStartup
Starting gui
In initdialog
Found machine Generic MSM7500
executing startup.txt
Setting KMode to true.
Old KMode was 0
Incoming connection from 192.168.0.3:41993
Welcome, this is HaRET pre-0.5.1-20071121_210626 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic MSM7500/MSM7500 (Plat='PocketPC' OEM='Kaiser')
CPU is ARM ARM arch 6 stepping 4 running in system mode
Enter 'HELP' for a short command summary.

HaRET(1)# print "%x" P2V(0x10000000)
2a0000
HaRET(2)# VFH P2V(0x10000000) 76800 0xffff
EXCEPTION while writing 0000ffff to address 002B0000
Calling WSACleanup
Shutting down

===== HaRET pre-0.5.1-20071121_210626 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function '?GXOpenDisplay@@YAHPAUHWND__@@[EMAIL PROTECTED]' in library 'gx' at 
025F19EC
Function '?GXCloseDisplay@@YAHXZ' in library 'gx' at 025F1DD8
Function '?GXBeginDraw@@YAPAXXZ' in library 'gx' at 025F12A8
Function '?GXEndDraw@@YAHXZ' in library 'gx' at 025F136C
Function 'LoadLibraryExW' in library 'coredll' at 03F65FE0
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 03F6C9A8
Function 'SleepTillTick' in library 'coredll' at 03F65F00
Function 'AllocPhysMem' in library 'coredll' at 03F65E38
Function 'FreePhysMem' in library 'coredll' at 03F65EA4
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 02E3D05C
Function 'Process32First' in library 'toolhelp' at 02E3D140
Function 'Process32Next' in library 'toolhelp' at 02E3D1AC
Function 'Module32First' in library 'toolhelp' at 02E3D340
Function 'Module32Next' in library 'toolhelp' at 02E3D3B0
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 02E3D07C
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting memory
WinCE reports memory size 117440512 (phys=106303488 store=143679488)
Detecting current machine
Trying to detect machine (Plat='PocketPC' OEM='Kaiser')
Wince reports processor: core=MSM7200-400MHz name= cat= vend=QUALCOMM
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3870
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7500
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Looking at arch Generic Intel PXA
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7500
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command TRACES
Registering command RESUMETRACES
Registering command WI|RQ
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command ALTL1TRACE
Registering command MAXL1TRACE
Registering command MAXL1TRACERESUME
Registering command MMUTRACE
Registering command TRACEIGNORE
Registering command TRACEFORWATCH
Registering command PERMISSIVEMMUTRACE
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Generic MSM7500'
HaRET(1)# set ramaddr 0x10000000
HaRET(2)# addlist irqs p2v(0xc0000000) 0x100 32 0
HaRET(3)# addlist gpios p2v(0xa9200800)
HaRET(4)# addlist gpios p2v(0xa9300c00)
HaRET(5)# addlist gpios p2v(0xa9200804)
HaRET(6)# addlist gpios p2v(0xa9200808)
HaRET(7)# addlist gpios p2v(0xa920080c)
HaRET(8)# addlist gpios p2v(0xa9200834)
HaRET(9)# addlist gpios p2v(0xa9300c20)
HaRET(10)# addlist gpios p2v(0xa9200838)
HaRET(11)# addlist gpios p2v(0xa920083c)
HaRET(12)# addlist gpios p2v(0xa9200840)
HaRET(13)# addlist gpios p2v(0xa9200810)
HaRET(14)# addlist gpios p2v(0xa9300c08)
HaRET(15)# addlist gpios p2v(0xa9200814)
HaRET(16)# addlist gpios p2v(0xa9200818)
HaRET(17)# addlist gpios p2v(0xa920081c)
Welcome, this is HaRET pre-0.5.1-20071121_210626 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic MSM7500/MSM7500 (Plat='PocketPC' OEM='Kaiser')
CPU is ARM ARM arch 6 stepping 4 running in system mode
Enter 'HELP' for a short command summary.

Running WSAStartup
Starting gui
In initdialog
Found machine Generic MSM7500
executing startup.txt
Setting KMode to true.
Old KMode was 0
Incoming connection from 192.168.0.3:56310
Welcome, this is HaRET pre-0.5.1-20071121_210626 running on WindowsCE v5.2
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Generic MSM7500/MSM7500 (Plat='PocketPC' OEM='Kaiser')
CPU is ARM ARM arch 6 stepping 4 running in system mode
Enter 'HELP' for a short command summary.

HaRET(1)# print "%x" P2V(0x10010000)
2a0000
HaRET(2)# VFH 0x51b00000 76800 0xffff
Calling WSACleanup
Shutting down
18:54.47        dcordes_        pH5: Hm no change :( #still freezes
18:56.21        pH5     is "boot" the same as "bootlinux"? also, I use "set 
CMDLINE console=tty0", but if you don't even see the early debug code painting 
to your screen, it won't matter anyway.
18:57.10        dcordes_        no the screen just freezes but I will try that
18:57.18        pH5     yes, it is the same.
18:59.46        pH5     dcordes_: what is the last thing you see on the screen?
19:00.07        dcordes_        pH5: the process bar which reaches its end and 
Go Go Go...
19:00.50        pH5     dcordes_: that means it is hanging in haret
19:01.31        pH5     after "go go go" it should disable interrupts in 
take_control() and the next thing that should happen is a fb_clear, which would 
turn the screen black.

19:02.38        pH5     dcordes_: maybe disabling interrupts doesn't work as 
easily on kaiser. or maybe haret just doesn't have the correct frame buffer 
information.
19:03.01        pH5     that is Kevin2's area of expertise



19:10.22        dcordes_        pH5: kaiser also has a power off button which 
has no function on locup..







19:28.30        pH5     dcordes_: I don't know. Maybe you can find what HaRET 
thinks is the framebuffer address from its logs
19:30.00        pH5     dcordes_: probably not. you could switch the order of 
fb_clear and take_control functions in haret's linboot.cpp to check whether the 
problem is the irq disabling or the frame buffer write.



19:44.07        dcordes_        here's my full haretlog.txt
19:44.09        dcordes_        http://pastebin.ca/799610
19:53.24        pH5     dcordes_: if you enter print "%x" P2V(0x10000000), does 
it return 0x51b00000?

19:54.39        pH5     then, can you try VFH P2V(0x10000000) 76800 0xffff, 
does that fill the screen white?
20:02.29        dcordes_        pH5: http://pastebin.ca/799635
20:04.00        pH5     huh, what do you make of that. does kaiser have a split 
framebuffer??
20:04.19        dcordes_        screenshot?
20:07.34        dcordes_        I cannot believe people sell software to make 
screenshots
20:13.52        pH5     dcordes_: what does print "%x" P2V(0x10010000) say?
20:14.55        pH5     and what happens if you VFH 0x51b00000 76800 0xffff - 
does it lock up?
20:22.27        dcordes_        
https://fjallfoss.fcc.gov/prod/oet/forms/blobs/retrieve.cgi?attachment_id=791306&native_or_pdf=pdf
20:23.04        dcordes_        pH5: first 2a0000
20:23.34        dcordes_        pH5: nope it does whiten the screen completely
20:25.40        pH5     ok, so the haret fb code is correct. no idea why p2v 
returns those 0x2x0000 mappings, the 0x51b00000 mapping points to phys 
0x10000000 and the complete framebuffer is there, in one piece.
20:27.10        pH5     --> the problem seems to be take_control(), probably 
the calls that disable interrupts.
20:27.41        pH5     I have no better idea than to wait for Kevin2.
20:27.49        dcordes_        ok then






_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret

Reply via email to