[coreboot] [h8dme-fam10] acquiring coreboot skills from scratch somewhat daunting

Joe Korty joe.korty at ccur.com
Thu Jun 10 15:38:05 CEST 2010


Hi,
As a learning experience, I've been trying to port coreboot to the
supermicro h8dme-2 w/ AMD K10.  I've had not much luck either in the
learning or the porting.  In any case I've got coreboot up to where it
is out of car and has started to clear memory, at which point it hangs.
I presume this is because I failed to properly set up each socket's
memory controller.

  Copying data from cache to RAM -- switching to use RAM as stack... Done
  testx = 5a5a5a5a
  Disabling cache as ram now 
  Clearing initial memory region:

I started with the h8dmr_fam10 port since the h8dmr is identical, spec-wise,
to the h8dme except that it has half the number of dimm slots.  Also there
is both K8 and K10 versions of coreboot for the h8dmr which in principle
makes the study of the differences a good way to learn coreboot internals.

In any case I have not been able to find where the info in spd_addr.h comes
from, so I have not been able to make it correct for my board.  How does one
construct this table?  In general, how does one construct devicetree.cb and
the other tables from scratch?

Is there an apprenticeship program somewhere, perhaps at some conference?
How do people in general get their coreboot skill-set jump-started?

Regards,
Joe
-------------- next part --------------
coreboot-4.0-r5628M Thu Jun 10 08:46:40 EDT 2010 starting...

Coreboot configured for H8DME-2 with K10 AMD processors
BSP Family_Model: 00100f42 
*sysinfo range: [000cc000,000cdfa0]
bsp_apicid = 00 
cpu_init_detectedx = 00000000 
microcode: equivalent rev id  = 0x1041, current patch id = 0x00000000
microcode: rev id (1062) does not match this patch.
microcode: Not updated! Fix microcode_updates[] 
cpuSetAMDMSR  done
Enter amd_ht_init()
AMD_CB_EventNotify()
 event class: 05
 event: 1004
 data:  04  00  00  01 
AMD_CB_ManualBUIDSwapList()
AMD_CB_EventNotify()
 event class: 05
 event: 2006
 data:  04  00  02  ff 
Exit amd_ht_init()
cpuSetAMDPCI 00 done
cpuSetAMDPCI 01 done
Prep FID/VID Node:00 
  F3x80: e600a681 
  F3x84: a0e641e6 
  F3xD4: c3310f24 
  F3xD8: 03001615 
  F3xDC: 00005322 
Prep FID/VID Node:01 
  F3x80: e600a681 
  F3x84: a0e641e6 
  F3xD4: c3310f24 
  F3xD8: 03001615 
  F3xDC: 00005322 
setup_remote_node: 01 done
Start node 01 done.
core0 started:  core0:  --- { APICID = 04 NODEID = 01 COREID = 00} ---
c0mi1
ersoctoadrte_:o tehqeuriv_acolreents (r)
tc iinidt   =n od0ex:10 4010 ,  ccuorrerse:nt  0p3 a
- hS taird t=  ot0hxe00r0 c0o0r00e0 
6 nmiocderiocdo:d 0e:0  r cevo riesd: ( 1003
 2)i ndoiets  nnoodte :m 0a1t ch  ctohriess :p a0t3 ch
S
dtmairctr ooctohdeer:  cNoorte  u-p dnaotdeeid!d :F i0x1  m iccorroecso:d e0_u3p
xdxx   teacccs[rooortrr] eeee
    : :: a  cpp   -- -uS--a-e---p  it {{cA{M  i DAAdAMPP:PSII IRCCCIII DDD   ===   d o0n00e231
 N  NONinODOiDEDtEIE_IDIfD Di = d= =v 0 i000d0 0_ C aCOCpORO(RERsEIEtIDIaD Dg = d- =0 1 0)02}1 3a} }- p i---c---i
 : 

exrxccc *m oo0ommr4riAiriPccece
    x rr:oo:F:0o I 1c ccoDos o  --ddV-dt-ea--eeI-r-::D-:      t {{e{oeee dqqn  quu AAAiiPPPi
            IvIIv*PvCa :aCaC lIlIIlAPeDeDDe0 n4 n n t0=t==t
D D  ==Ersreete000vavv6r 5 7  ii ti deNNddNO  dOO D
        E=EI I  I*D D0D00xx A x =111=P=    00004400041111131 s , ,,C  CtC OcOccO n =ttt=rrEtErEIrIrrIeDdDeDeenn 
dd      =      000ppp21aa3a}t}tt} ccc  hhh----  -- ii--i-

     
     ===*   000 mmmiAiixxx000cPccrr000r o0oo000c005cc0oo0o00sd0td0d0e0e0ae0:0:0:   

ee
uuiiicccimmu
         iivvrrrv*a aaooolccAllceeoeooPnd ndndttt0eee 6::  :r rs  rerreretvaveev =v r vv  i itidediidi d d dd     
  ((=(= 1  *11000000 xAx666x121P1220))0)0 404  4 1d171ddoo,o,s, t ee ecscacss  un   ntmtrnrrorreooettteedn
p       tmm aa a 
thttptacaacc
    hh B c cchhtetht h  hghiiiiiiiddsdnss       =F=pp=p a I aa0tt0t0DxVxccxc0h0I0hh..0.0D00 0
 0M0

ooo mm0m0S00Rii0i00c00 cc0rrr000
c
 c
  ccooo0mmmi0ddiidccec1eer::r:r0o0o  o cNc7cNNoooooo1d dttdt 0  eeeuu::u:x p 3pp rdrdr0dabeaeaevtt0vtv e  ee0i0iiddddd!!ad!      3(F F((F1i1i0i10xx0x0x6 64 6 2meeno_o_oi)i) c c3 cdrdrdr50ooooooec4cecesosso0o  dd  dnen
iBsSs   _tututuF pp Ip dDmmddmaaaVaaatttttItcDceceehssh hs [ [[ otnt]t]]  h h hi
     s

MM_    P  cccpppp,ppaauuua tAttSSSeeecPcchhttthI.C..AAA

 D
ccoDimMdmMmMiSiS:iScRcRcR rr0r   ooo0c
o  ooddd   e:dddee:oo: onn Nn eeNoeNBotS

t P
   t  u iiipfnunnupidiipidtdtadtt _a_a_tfe=ftfeieii d!dd1ddd vv0!!v iFii6 Fd0Fdidx_i_0i_xa axa
p pmp i(m(m(Wsacsisicttirtcraraatocg ogogceoefceo1o1d1or)d)d)ee _  e _a_auAapPup ppdii pipdcdaccsaitiatiedtdadte:s:e:gs es [ ]0[0 [0]3 1]21:

 


F
 FaFcpIpIIccppD_DDuSVuuVaVepIISSIeDtiDDet  t AcMiAooAoMnDdMnnD  D M S=MAAMASPR S   0R:R1   
  o 00321 


nn nddooe
i       ee
 en
tgaeaiinntd_biittfa_c_ifdfki ivid=dv dv_ii1d0ad__1p(0aapps6t0((sa1st
a0067g1g        ec)e11o am))  pmioaapcnpi_iicdcfii:i ddd:(0:5  p
     cFk
Ie
A:P PDIVI)D DIDV=VI  IoDD1 0n oo6 A0nn  P0A
i0067:W:0 a5 
     t
f
 or AP stage 1: ap_apicid = 2
        readback = 2010601
        common_fid(packed) = 10600
Wait for AP stage 1: ap_apicid = 3
        readback = 3010601
        common_fid(packed) = 10600
Wait for AP stage 1: ap_apicid = 4
        readback = 4010601
        common_fid(packed) = 10600
Wait for AP stage 1: ap_apicid = 5
        readback = 5010601
        common_fid(packed) = 10600
Wait for AP stage 1: ap_apicid = 6
        readback = 6010601
        common_fid(packed) = 10600
Wait for AP stage 1: ap_apicid = 7
        readback = 7010601
        common_fid(packed) = 10600
common_fid = 10600
FID Change Node:00, F3xD4: c3310f26 
FID Change Node:01, F3xD4: c3310f26 
End FIDVIDMSR 0xc0010071 0x30b000a3 0x38035040 
mcp55_num:01
...WARM RESET...




coreboot-4.0-r5628M Thu Jun 10 08:46:40 EDT 2010 starting...

Coreboot configured for H8DME-2 with K10 AMD processors
BSP Family_Model: 00100f42 
*sysinfo range: [000cc000,000cdfa0]
bsp_apicid = 00 
cpu_init_detectedx = 00000000 
microcode: equivalent rev id  = 0x1041, current patch id = 0x00000000
microcode: rev id (1062) does not match this patch.
microcode: Not updated! Fix microcode_updates[] 
cpuSetAMDMSR  done
Enter amd_ht_init()
AMD_CB_EventNotify()
 event class: 05
 event: 1004
 data:  04  00  00  01 
AMD_CB_ManualBUIDSwapList()
AMD_CB_EventNotify()
 event class: 05
 event: 2006
 data:  04  00  02  ff 
Exit amd_ht_init()
cpuSetAMDPCI 00 done
cpuSetAMDPCI 01 done
Prep FID/VID Node:00 
  F3x80: e600a681 
  F3x84: a0e641e6 
  F3xD4: c3310f26 
  F3xD8: 03001615 
  F3xDC: 00005322 
Prep FID/VID Node:01 
  F3x80: e600a681 
  F3x84: a0e641e6 
  F3xD4: c3310f26 
  F3xD8: 03001615 
  F3xDC: 00005322 
setup_remote_node: 01 done
Start node 01 done.
core0 started:  01
start_other_cores()
init node:  00co r eco0r: es -: --03 {  
ASPItCaIrtD  =o the04r  NcoOrDEeI -D  n= o0de1i dCO:R 0E0I D  =co r00e}s : -0--3

vnmiitc rnoocdoed:e :0 1 eq uciovraelse:n t0 3r e
  Sitda r t= o 0txh1e0r4 1c,o rceu r-r ennotd epiadt:c h0 1i d  c=o r0exs0:0 000030
   t
    acccmiroooctrrrreeeeodxxxc :::oa   dp   e :a--- p------riec   {{{vi    diAAA:dPPP  III(CCC1III0DDD6   2===)    d000o213es    NNNnOOOoDDDtEEE IIImDDDa   t===1   h000 000t   hCCCiOOOsRRR EEEpIIIaDDDt   c===h   0.0023
c}}}m   -i---c--r---o


    *o cccmmmoiiAoiodccPrcrerer re:er0oox xox:ccN:c:1ooo o s tddtd   -a ee--e::-ut uu  eiAiiAA ed eee{qda{qq{
              PvvvPP*dII !IaaaCA ClllCFPIeeeIID nnnDDit0tt  x =2  = = rsr m r ted E==Evc0007 r r56 tiio  i cddNNdNe  OO OdoD D D
      e=E  I*_ IID0 u0DD0Axpx  x d11==1=P00  0  a040400t411113e11,, ss,  C t[ CCrEErEtrIIrIeruRru
np n=t       rDeDdeDec n 
      tu=t=  S    e0p00pp3ata1a2}t}}tAt cMc c -h--hDh- M - --i--iSi

   
csc000=*    00m0Am mixPixxid 0c00cocr000rnr0000oeo5oc00
 e    oto0o0dad0d0ie00n0ere00i0:t::t

d_
qfmmmuq
      uiiiiui*dccciiv rrrvvvoAooaaailPcclldco oee_oen0dnsdnd6tttteee a :: :sgr  d d d i    eeeverv2v vvt   v  eiai ididpdidi
 4 1d1s     c ((=*(i== 1 1d  1A00:0000 66xx6xP221121 00)0)004)4 47
etn    d1d,t,oo,o eee a cssscrcutu   unnnrrerrdrooorette
tm n n  tmmt
aa  a aapttppt
  cccathhttBhcce c  htthhgt  ih hhiiiiinidd sdss     F ==Ip=pp aa  Da00Vt0ttxccx0Ic00Dh0hh0..00 .00M

 00S
oo  00Rm0mm0ii00 i00c0cc00rr00xr
cc

  0co0oommmddiid1ice0ceec::rr:0ro 7o  oNNccN1coo oooottddt0d   exee:uu::3u  0p pprddrrbdee0aeaavttvv0t  0e eeiiiadddd3d!!d!       (0(FF(Fii1i1x1030xx0x6  686 20 dnmm)ii)3)i 5 c ccdrrd0dro4oooooecce0ecs sosoo dd 
   neneeo__oo_tutuutEppn  p mdmdddmaa aaaatttttFtceIcecehshshsD [V [ [t]t]t]Ih DMsh i
  Ss
    s
DD      Rccc ppppppuuaa0uaSxtSStteeccecc0thtthhAA..0A.M1

  D0
aot 0MmMMmmSSii7SiR1cRRccrrr    o0oocccxo3ood0dd   eedddeb:o0::oo  nn n0Ne0NNeeo
   3tt

          iiiun0uunnppiipixdt3ddttaa__a_8tf0ttffeeiiei02dddddd!vv!8v! 0i  iiFddFsx i _ii__xssx
   t  ttmaammamigicgigceececpr2r5r22o  o o5cac_caaoppoponddudiiiecceecm_i:_ii_udd00aa0:1p::p  dd 
s     a1t32tte

 s
  s[[[]]]   


cccpppuuuSSSeeetttAAAMMMDDDMMMSSSRRR      dddooonnneee


iiinnniiittt___fffiiidddvvviiiddd___ssstttaaagggeee222   aaapppiiiccciiiddd:::   000567


fill_mem_ctrl()
raminit_amdmct()
raminit_amdmct begin:
 Node: 01  base: 00  limit: 7fffff  BottomIO: e00000
 Copy dram map from Node 0 to Node 01 
raminit_amdmct end:
v_esp=000cbee8
testx = 5a5a5a5a
Copying data from cache to RAM -- switching to use RAM as stack... Done
testx = 5a5a5a5a
Disabling cache as ram now 
Clearing initial memory region: 


More information about the coreboot mailing list