Archive for the OAL Category

WorkNote: a Debug message dump, Intel N450 with WEC7 Platform

Posted in Driver, OAL, WinCE on 2012 年 04 月 09 日 by Kun-Yi

Keypoint:
1. ACPI provide RAM size to CE kernel.
2. Due to Original code just discover ‘zero’ codec, so the InitHDA() always return failed. And the DiscoverCodec() still have a little bug,  so you need to patch it! May be still need added your codec ID into CheckcodecFG().

Debug Serial Init

SysInit: GDTBase=82acb000 IDTBase=82acf700 KData=82a85800
Windows CE Kernel for i486
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
PCIInitConfigMechanism():ucConfigMechanism 0x1
InitKitlNIC: Searching for PCI Ethernet NIC (dwIrq = 0, dwIoBase = 0, dwDfltType = 0) …
Intel(R) Ethernet Gigabit KITL driver [Build: Apr  9 2012  14:34:00]
InitKitlNIC: skipping unknown PCI Ethernet NIC: (subclass=0, Vendor=10EC, Device=8168)
Intel(R) Ethernet Gigabit KITL driver [Build: Apr  9 2012  14:34:00]
InitKitlNIC: skipping unknown PCI Ethernet NIC: (subclass=0, Vendor=10EC, Device=8168)
Intel(R) Ethernet Gigabit KITL driver [Build: Apr  9 2012  14:34:00]
InitKitlNIC: skipping unknown PCI Ethernet NIC: (subclass=0, Vendor=10EC, Device=8168)
Intel(R) Ethernet Gigabit KITL driver [Build: Apr  9 2012  14:34:00]
InitKitlNIC: skipping unknown PCI Ethernet NIC: (subclass=0, Vendor=10EC, Device=8168)
 x86InitMemory(): dwAcpiPHYS = 0x3F5CD627
x86InitMemory(): dwRamEndPHYS = 0x20000000
x86InitMemory(): dwRamTop(1)= 0xc0000000
Using ACPI location to determine RAM size
ACPI Tables found at 0x3f5cd627
RAM reported to kernel 1013MB
x86InitMemory():g_pOemGlobal->dwMainMemoryEndAddress = 0xa0000000
Found ACPI but it was located above 512MB at 1013MBIDE deviceId = 0x2828

disLegacyUsbSupport LPC deviceId=0x2815 PMBase=0x1000
+ disLegacyUsbSupport for ICH8M
– disLegacyUsbSupport for ICH8M

PID:00400002 TID:00410002  Found ACPI but it was located above 512MB at 1013MBReserve KITL IRQ: No IRQ reserved, KITL polling mode was specified
PID:00400002 TID:00510002 WARNING: COM1: has been reserved exclusively for Debug Messages.VBridge:: VB_INITIALIZED returns [0]
PID:00400002 TID:00A40006 HDA::InitHardware: InitHDA() failed

廣告

Note: WEC7 MP(SMP) OAL Function

Posted in OAL, WinCE on 2012 年 04 月 03 日 by Kun-Yi
  1. OEMInitInterlockedFunctions, Kernel(in NKstub library) provide a general version for all CPU architecture, when need specific interlock
  2. OEMMpPerCPUInit, Run on AP(Application Processor) will run the function first when kernel initialization.
  3. OEMMpStartAllCPUs, Run on BSP (BootStrap Processor) to start all AP, when start SMP
  4. OEMSendIPI, Send an interprocessor interrupt
  5. OEMIdleEx, Places the CPUs in the idle state when there are no threads ready to run
  6. OEMMpCpuPowerFunc, Optional Function, for turning off secondary CPUs to save power.
  7. OEMIpiHandler, Optional Function, Platform Specific IPI Handler

 

Ref.
SMP Functions
CPU Dependencies for OAL funcitons
OMAP4 for Linux SMP support functions
Linux ARM arch SMP