sundareswaram pv
2016-Feb-15 17:30 UTC
[libvirt-users] [issue] Accessing SMBIOSTable in FreeBSD Kernel
<html><head></head><body><div
style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Hi All,</div>
<div>
<strong>Setup:</strong></div>
<div>
- x86 based platforms, running Yocto-Linux with QEMU/KVM to launch our FreeBSD
VM's</div>
<div> </div>
<div>
<strong>Issue in brief:</strong></div>
<div>
I’m encountering an issue in one of our platforms, while accessing the
SMBIOSTable with SMP Enabled 64-bit FreeBSD kernel</div>
<div> </div>
<div>
- This issue is NOT observed on all our platforms.</div>
<div>
- just seeing it on a specific platform, which has changes to the HostOS
BIOS</div>
<div> </div>
<div>
The FreeBSD VM's access the SMBIOS table, where the smbios is shared to
the VM using</div>
<div>
<em><strong><smbios
mode='host'/></strong></em></div>
<div> </div>
<div>
While enabling SMP on 64-bit FreeBSD Kernel, I see that the SMBIOSTable is
accessed at <strong>different location</strong> compared to the
address shared when <strong>SMP is disabled.</strong></div>
<div> </div>
<div>
<strong>=== with 1 vCPU to FreeBSD (No SMP)
====</strong></div>
<div>addr found @ 0x800f0c20</div>
<div> SMBIOS map : 800f0c40 f0c40 kva 0 > 140
{800f0c40, f0c40 <----> virtual address(va), physical
address(pa) }</div>
<div> SMBIOS map 800f0c40 f0c40 page num
0 140</div>
<div> SMBIOS mapped 800f0c40 f0c40 0xffff807fffc00780</div>
<div>Found SMBIOS Ver 2.8 at 0xffffffff800f0c40 - Beyond mapped
region</div>
<div>smbios: Found SMBIOS Ver 2.8 at 0xffffffff800f0c20</div>
<div>smbios: Table at 0xffffffff800f0c40 len 568</div>
<div>Fast boot:0</div>
<div> </div>
<div>
<strong>=== with 2 vCPU to FreeBSD (SMP enabled)
====</strong></div>
<div>
addr found @ 0x800f0e40</div>
<div>SMBIOS map : fa1ffd80 7a1ffd80 kva 3d0 >
140 {fa1ffd80, 7a1ffd80 <----> va, pa
}</div>
<div>Found SMBIOS Ver 2.8 at 0xfffffffffa1ffd80 - Beyond mapped
region</div>
<div>Fast boot:0</div>
<div>kernel trap 12 with interrupts disabled è PANIC PANIC
PANIC</div>
<div> </div>
<div> </div>
<div><strong>
Questions & Resolutions:</strong></div>
<div>
The following are couple of questions:</div>
<div>1. why is that the SMBIOSTable gets mapped at different addresses
when launching the VM with and without SMP (SMP with 2 vCPUs</div>
<div>2. Is there a way to PIN the SMBIOSTable for the VM ? This probably
will help address the issue</div>
<div>3. The issue is seen only with a specific platform. While, SMP in
64-bit OCCAM works fine on <strong>many other platforms.
</strong>Does it mean, it is an issue specific to the bios release for
Porter?</div>
<div>4 .I could address the issue by using</div>
<div><strong><em>
<smbios
mode='sysinfo'/></em></strong></div>
<ol>
</ol>
<div>
please suggest ways to identify the problem and any potential
solutions</div>
<div> </div>
<div>thanks in advance & rgds,</div>
<div>Sundareswaram</div>
<div> </div>
</div></div></body></html>
