Chen & Jordan, I encountered on exception as blew on Ubuntu12.04 (on virtual machine by Virtual Box, VT-x enabled) with GCC46. Log is attached. Do you have any idea on it?
$ qemu-system-i386 -smp 4 -serial file:ovmf.log Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory Back to tcg accelerator. qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000 EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633 ESI=00000000 EDI=00001ff8 EBP=00000000 ESP=00000000 EIP=00000ffc EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 00000000 0000ffff 00009300 CS =9f00 0009f000 0000ffff 00009b00 SS =0000 00000000 0000ffff 00009300 DS =0000 00000000 0000ffff 00009300 FS =0000 00000000 0000ffff 00009300 GS =0000 00000000 0000ffff 00009300 LDT=0000 00000000 0000ffff 00008200 TR =0000 00000000 0000ffff 00008b00 GDT= 00000000 0000ffff IDT= 00000000 0000ffff CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000 DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 DR6=ffff0ff0 DR7=00000400 CCS=00000000 CCD=00000000 CCO=SUBW EFER=0000000000000000 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 Aborted (core dumped) Thanks! Jeff -----Original Message----- From: Chen Fan [mailto:[email protected]] Sent: Thursday, September 18, 2014 11:12 AM To: [email protected] Cc: Jordan Justen; Fan, Jeff; Andrew Fish Subject: [RFC v3 00/19] Introduce Mp Service protocol to UefiCpuPkg This series patchset try to implement Mp Service protocol in UefiCpuPkg, Jordan had implemented the startup APs code, and I try to add more initialization code to let all APs work up, this Mp Service protocol's implementation used EmulatorPkg/MpService for reference. this patches works on my github: https://github.com/ChenFanFnst/edk2/tree/cpu-mp-service V2-V3: 1. rebase codes due to Jordan'tree updated: https://github.com/jljusten/edk2/tree/ap-startup-example 2. add supported on Ia32 arch 3. add a new Lock to replace present SpinLock mechanisms in mutilple processors, maybe the SpinLock mechanisms is not MP safe. 4. add function header 5. add StartupAllAPs() supported 6. add SwitchBSP() function, which is unsupported. V1-V2: 1. do not call anything EFI API from APs. 2. add AP busy-wait for task assignment from BSP and get rid of IPI sent mechanism. TODO: 1) StartupThisAP/StartAllAps: when Timeout expires before AP returns from Procedure, constrainedly terminate the executed Procedure. Any Comment is welcome. Chen Fan (13): UefiCpuPkg/CpuDxe: Introduce AsmApDoneWithCommonStack UefiCpuPkg/CpuDxe: Waiting for Aps initialization done UefiCpuPkg/CpuDxe: Switch Ap CommonStack with NewStack UefiCpuPkg/CpuDxe: install Mp Service protocol UefiCpuPkg/CpuDxe: implement Mp Protocol: GetNumberOfProcessors() UefiCpuPkg/CpuDxe: implement Mp Protocol: WhoAmI() UefiCpuPkg/CpuDxe: implement Mp Services: GetProcessorInfo() UefiCpuPkg/CpuDxe: implement Mp Protocol: EnableDisableAP() UefiCpuPkg/CpuDxe: implement Mp Protocol: StartupThisAP() UefiCpuPkg/CpuDxe: introduce CPU bus lock for sync data UefiCpuPkg/CpuDxe: implement Mp Services: StartupAllAPs() UefiCpuPkg/CpuDxe: implement Mp Services: SwitchBSP() UefiCpuPkg/CpuDxe: add Mp Service TestCase Jordan Justen (6): UefiCpuPkg/CpuDxe: Add no-op InitializeMpSupport UefiCpuPkg/CpuDxe: Add ApEntryPointInC UefiCpuPkg/CpuDxe: Add stackless assembly AP entry points UefiCpuPkg/CpuDxe: Move GDT structures into CpuGdt.h UefiCpuPkg/CpuDxe: Add StartApsStackless routine UefiCpuPkg/CpuDxe: Startup APs UefiCpuPkg/CpuDxe/ApStartup.asm | 111 +++ UefiCpuPkg/CpuDxe/ApStartup.c | 209 ++++++ UefiCpuPkg/CpuDxe/CpuDxe.c | 5 + UefiCpuPkg/CpuDxe/CpuDxe.inf | 8 + UefiCpuPkg/CpuDxe/CpuGdt.c | 52 +- UefiCpuPkg/CpuDxe/CpuGdt.h | 72 ++ UefiCpuPkg/CpuDxe/CpuMp.c | 1349 +++++++++++++++++++++++++++++++++++++ UefiCpuPkg/CpuDxe/CpuMp.h | 643 ++++++++++++++++++ UefiCpuPkg/CpuDxe/CpuMpTest.c | 76 +++ UefiCpuPkg/CpuDxe/Ia32/MpAsm.S | 109 +++ UefiCpuPkg/CpuDxe/Ia32/MpAsm.nasm | 144 ++++ UefiCpuPkg/CpuDxe/X64/MpAsm.S | 111 +++ UefiCpuPkg/CpuDxe/X64/MpAsm.nasm | 142 ++++ 13 files changed, 2980 insertions(+), 51 deletions(-) create mode 100644 UefiCpuPkg/CpuDxe/ApStartup.asm create mode 100644 UefiCpuPkg/CpuDxe/ApStartup.c create mode 100644 UefiCpuPkg/CpuDxe/CpuGdt.h create mode 100644 UefiCpuPkg/CpuDxe/CpuMp.c create mode 100644 UefiCpuPkg/CpuDxe/CpuMp.h create mode 100644 UefiCpuPkg/CpuDxe/CpuMpTest.c create mode 100644 UefiCpuPkg/CpuDxe/Ia32/MpAsm.S create mode 100644 UefiCpuPkg/CpuDxe/Ia32/MpAsm.nasm create mode 100644 UefiCpuPkg/CpuDxe/X64/MpAsm.S create mode 100644 UefiCpuPkg/CpuDxe/X64/MpAsm.nasm -- 1.9.3
ovmf.log
Description: ovmf.log
------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that Matters. http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
