Message ID | 1506494757-7352-2-git-send-email-mark.cave-ayland@ilande.co.uk |
---|---|
State | New |
Headers | show |
Series | sun4u: update PCI topology to include simba PCI bridges | expand |
On Wed, Sep 27, 2017 at 8:45 AM, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> wrote: > This patch updates the sun4u model to being much closer to a real Ultra 5 > by moving devices behind the 2 simba PCI bridges (A and B) as found on real > hardware. > > The most noticeable change introduced by this patchset is that in-built devices > are no longer attached to the PCI root bus, but instead behind PCI bridge A. > Along with this the interrupt routing is updated accordingly to match the > official documentation. > > Since the existing code currently bypasses the PCI bridge interrupt > swizzling, the interrupt mapping functions are reorganised so that > pci_pbm_map_irq() is used by the PCI bridges and pci_apb_map_irq() is > used by the PCI host bridge. > > Behind the sabre PCI host bridge, the PCI IO space now needs to be > split into two separate halves at 0x8000000. Therefore we also setup a new > PCI IO space region of increased size on the PCI host bridge and enable > 32-bit PCI IO accesses to allow IO accesses to reach devices behind PCI > bridge B correctly. > > As part of this change we also combine the onboard sunhme NIC and the ebus > into a single multi-function device as done on a real Ultra 5. For other > NICs we initialise them and place them into the next free slot on PCI > bus B. > > Finally we mark the physically unavailable slots (plus slot 0 in busA) as > reserved to ensure that users can't plug devices into non-existent slots > which will break interrupt routing. > > Note: since this commit changes PCI topology and interrupt routing, an > updated openbios-sparc64 binary is included with this commit containing the > associated changes to maintain bisectability. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> > --- > hw/pci-host/apb.c | 47 +++++++++++++++++++++++++++--------- > hw/sparc64/sun4u.c | 60 +++++++++++++++++++++++++++++++++------------- > pc-bios/openbios-sparc64 | Bin 1593408 -> 1593408 bytes > 3 files changed, 79 insertions(+), 28 deletions(-) > > diff --git a/hw/pci-host/apb.c b/hw/pci-host/apb.c > index b709456..bc54366 100644 > --- a/hw/pci-host/apb.c > +++ b/hw/pci-host/apb.c > @@ -599,16 +599,35 @@ static uint64_t apb_pci_config_read(void *opaque, hwaddr addr, > /* The APB host has an IRQ line for each IRQ line of each slot. */ > static int pci_apb_map_irq(PCIDevice *pci_dev, int irq_num) > { > - return ((pci_dev->devfn & 0x18) >> 1) + irq_num; > + /* Return the irq as swizzled by the PBM */ > + return irq_num; > } > > static int pci_pbm_map_irq(PCIDevice *pci_dev, int irq_num) > { > + PBMPCIBridge *br = PBM_PCI_BRIDGE(pci_bridge_get_device( > + PCI_BUS(qdev_get_parent_bus(DEVICE(pci_dev))))); > + > int bus_offset; > - if (pci_dev->devfn & 1) > - bus_offset = 16; > - else > - bus_offset = 0; > + if (br->busA) { > + bus_offset = 0x0; > + > + /* The on-board devices have fixed (legacy) OBIO intnos */ > + switch (PCI_SLOT(pci_dev->devfn)) { > + case 1: > + /* Onboard NIC */ > + return 0x21; > + case 3: > + /* Onboard IDE */ > + return 0x20; > + > + default: > + /* Normal intno, fall through */ > + break; > + } > + } else { > + bus_offset = 0x10; > + } > return (bus_offset + (PCI_SLOT(pci_dev->devfn) << 2) + irq_num) & 0x1f; > } > > @@ -669,6 +688,12 @@ static void apb_pci_bridge_realize(PCIDevice *dev, Error **errp) > PCI_STATUS_FAST_BACK | PCI_STATUS_66MHZ | > PCI_STATUS_DEVSEL_MEDIUM); > > + /* Allow 32-bit IO addresses */ > + pci_set_word(dev->config + PCI_IO_BASE, PCI_IO_RANGE_TYPE_32); > + pci_set_word(dev->config + PCI_IO_LIMIT, PCI_IO_RANGE_TYPE_32); > + pci_set_word(dev->wmask + PCI_IO_BASE_UPPER16, 0xffff); > + pci_set_word(dev->wmask + PCI_IO_LIMIT_UPPER16, 0xffff); > + > pci_bridge_update_mappings(PCI_BRIDGE(br)); > } > > @@ -690,9 +715,9 @@ PCIBus *pci_apb_init(hwaddr special_base, > d = APB_DEVICE(dev); > phb = PCI_HOST_BRIDGE(dev); > phb->bus = pci_register_bus(DEVICE(phb), "pci", > - pci_apb_set_irq, pci_pbm_map_irq, d, > + pci_apb_set_irq, pci_apb_map_irq, d, > &d->pci_mmio, > - get_system_io(), > + &d->pci_ioport, > 0, 32, TYPE_PCI_BUS); > qdev_init_nofail(dev); > s = SYS_BUS_DEVICE(dev); > @@ -725,14 +750,14 @@ PCIBus *pci_apb_init(hwaddr special_base, > pci_dev = pci_create_multifunction(phb->bus, PCI_DEVFN(1, 0), true, > TYPE_PBM_PCI_BRIDGE); > br = PCI_BRIDGE(pci_dev); > - pci_bridge_map_irq(br, "pciB", pci_apb_map_irq); > + pci_bridge_map_irq(br, "pciB", pci_pbm_map_irq); > qdev_init_nofail(&pci_dev->qdev); > *busB = pci_bridge_get_sec_bus(br); > > pci_dev = pci_create_multifunction(phb->bus, PCI_DEVFN(1, 1), true, > TYPE_PBM_PCI_BRIDGE); > br = PCI_BRIDGE(pci_dev); > - pci_bridge_map_irq(br, "pciA", pci_apb_map_irq); > + pci_bridge_map_irq(br, "pciA", pci_pbm_map_irq); > qdev_prop_set_bit(DEVICE(pci_dev), "busA", true); > qdev_init_nofail(&pci_dev->qdev); > *busA = pci_bridge_get_sec_bus(br); > @@ -798,8 +823,8 @@ static int pci_pbm_init_device(SysBusDevice *dev) > sysbus_init_mmio(dev, &s->pci_config); > > /* pci_ioport */ > - memory_region_init_alias(&s->pci_ioport, OBJECT(s), "apb-pci-ioport", > - get_system_io(), 0, 0x10000); > + memory_region_init(&s->pci_ioport, OBJECT(s), "apb-pci-ioport", 0x1000000); > + > /* at region 2 */ > sysbus_init_mmio(dev, &s->pci_ioport); > > diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c > index c3280aa..2edd1cc 100644 > --- a/hw/sparc64/sun4u.c > +++ b/hw/sparc64/sun4u.c > @@ -27,6 +27,7 @@ > #include "cpu.h" > #include "hw/hw.h" > #include "hw/pci/pci.h" > +#include "hw/pci/pci_bus.h" > #include "hw/pci-host/apb.h" > #include "hw/i386/pc.h" > #include "hw/char/serial.h" > @@ -42,6 +43,7 @@ > #include "hw/nvram/fw_cfg.h" > #include "hw/sysbus.h" > #include "hw/ide.h" > +#include "hw/ide/pci.h" > #include "hw/loader.h" > #include "elf.h" > #include "qemu/cutils.h" > @@ -436,7 +438,8 @@ static void sun4uv_init(MemoryRegion *address_space_mem, > DeviceState *dev; > FWCfgState *fw_cfg; > NICInfo *nd; > - int onboard_nic_idx; > + MACAddr macaddr; > + bool onboard_nic; > > /* init CPUs */ > cpu = sparc64_cpu_devinit(machine->cpu_model, hwdef->default_cpu_model, > @@ -450,10 +453,17 @@ static void sun4uv_init(MemoryRegion *address_space_mem, > ivec_irqs = qemu_allocate_irqs(sparc64_cpu_set_ivec_irq, cpu, IVEC_MAX); > pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs, &pci_busA, > &pci_busB, &pbm_irqs); > - pci_vga_init(pci_bus); > > - /* XXX Should be pci_busA */ > - ebus = pci_create_simple(pci_bus, -1, "ebus"); > + /* Only in-built Simba PBMs can exist on the root bus, slot 0 on busA is > + reserved (leaving no slots free after on-board devices) however slots > + 0-3 are free on busB */ > + pci_bus->slot_reserved_mask = 0xfffffffc; > + pci_busA->slot_reserved_mask = 0xfffffff1; > + pci_busB->slot_reserved_mask = 0xfffffff0; > + > + ebus = pci_create_multifunction(pci_busA, PCI_DEVFN(1, 0), true, "ebus"); > + qdev_init_nofail(DEVICE(ebus)); > + > isa_bus = pci_ebus_init(ebus, pbm_irqs); > > i = 0; > @@ -466,27 +476,43 @@ static void sun4uv_init(MemoryRegion *address_space_mem, > serial_hds_isa_init(isa_bus, i, MAX_SERIAL_PORTS); > parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS); > > - onboard_nic_idx = -1; > + pci_dev = pci_create_simple(pci_busA, PCI_DEVFN(2, 0), "VGA"); > + > + memset(&macaddr, 0, sizeof(MACAddr)); > + onboard_nic = false; > for (i = 0; i < nb_nics; i++) { > nd = &nd_table[i]; > > - if (onboard_nic_idx == -1 && > - (!nd->model || strcmp(nd->model, "sunhme") == 0)) { > - pci_dev = pci_create(pci_bus, -1, "sunhme"); > - dev = &pci_dev->qdev; > - qdev_set_nic_properties(dev, nd); > - qdev_init_nofail(dev); > - > - onboard_nic_idx = i; > + if (!nd->model || strcmp(nd->model, "sunhme") == 0) { > + if (!onboard_nic) { > + pci_dev = pci_create_multifunction(pci_busA, PCI_DEVFN(1, 1), > + true, "sunhme"); > + memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr)); > + onboard_nic = true; > + } else { > + pci_dev = pci_create_simple(pci_busB, -1, "sunhme"); > + } > } else { > - pci_nic_init_nofail(nd, pci_bus, "ne2k_pci", NULL); > + pci_dev = pci_create_simple(pci_busB, -1, nd->model); > } > + > + dev = &pci_dev->qdev; > + qdev_set_nic_properties(dev, nd); > + qdev_init_nofail(dev); > + } > + > + /* If we don't have an onboard NIC, grab a default MAC address so that > + * we have a valid machine id */ > + if (!onboard_nic) { > + qemu_macaddr_default_if_unset(&macaddr); > } > - onboard_nic_idx = MAX(onboard_nic_idx, 0); > > ide_drive_get(hd, ARRAY_SIZE(hd)); > > - pci_cmd646_ide_init(pci_bus, hd, 1); > + pci_dev = pci_create(pci_busA, PCI_DEVFN(3, 0), "cmd646-ide"); > + qdev_prop_set_uint32(&pci_dev->qdev, "secondary", 1); > + qdev_init_nofail(&pci_dev->qdev); > + pci_ide_create_devs(pci_dev, hd); > > isa_create_simple(isa_bus, "i8042"); > > @@ -527,7 +553,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, > /* XXX: need an option to load a NVRAM image */ > 0, > graphic_width, graphic_height, graphic_depth, > - (uint8_t *)&nd_table[onboard_nic_idx].macaddr); > + (uint8_t *)&macaddr); > > dev = qdev_create(NULL, TYPE_FW_CFG_IO); > qdev_prop_set_bit(dev, "dma_enabled", false); > diff --git a/pc-bios/openbios-sparc64 b/pc-bios/openbios-sparc64 > index 7bdd6a1f4977eae6693883468cab78ba3ba363cf..955f45d33238dda2f1e99d97be9463fd1fac479d 100644 > GIT binary patch > delta 31686 > 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 > E0sUr(c>n+a > > delta 31753 > zcmd7534BvU_cxxoZ6RgNz0fvgX#*%N2yIwf*2a~f2tf-}K}dl@kwPPDRUR7LD2fm$ > z^i)NOf>1Yzf+Q+JSd{9c5D>8<OA@!bK@@~MZh60R?@bFWJkRq!&+q;J{`d1K=gyfk > zXU?2Cb7tnu+~9TQd!6~NBriL>P47L;SkG<YJxiImfN3<EH9AA=>ZY3_CQbgKa>u^w > zTK?|P8Q9x8jn<@@+@idC-xPMbyvP1jwyk^w{ykJ)v_FllC||R`3(F|?>>tH;mTTWT > z#O7_Qd2f6(wrN{m-!Va$7_+U#C#eG4wynpf2N=7){QR+n9q(8zSv4k2ml#LW&8JuE > z3;|Sx^!P31-EHyZ-ouI8p8Kqy&~vIor_nDt<kxcPp8aySMIpQUa~I^YzhKZvW=#{G > zXVQ$lu=;rWAs=%Bo*|euO_hwhKjpYp-3@wOp{CjE0}Xl*f6en;t7W=4g>Kwq+wzV- > z9K%w!oj4iOj2+wN|8@goAC*7y-4pDkZMyF_$KIaf8#dYFfjT%eX=dtH>vEv1nFDy* > zRgZ6m7HL$PrmJ<D4)smgsY8>JO`3b#l*gV;V+YE6oL$HY$~T_9jir=_&b}f(;~Uo5 > z!~fRkI-yzjPT%%wh!`v1cGEA{37y_R>2}RN)WmI)J7wlhp5D~Nu0@SQAj!++j`KO} > zALYLDgV?n47Qc>S$I2)CdK=3ruln^ymQeoVukWyj%d0N9+4tqvi&NP1<@+x#WbbVo > z9G=2h_j2by#<6wV!vAO^FxR#gf8@k6@y!wJlVtWH8QQTNc9YxMj-88TUr}x<dxv#% > zqZ`^cXTzw+b*w$R=r&)+vIO=n*?Y1+%;nzRlRem!)sV3tON$GX*J`xn>&*1-dHvY8 > zjP0TcSuB<P>0Xq@s5v`AZEs}PiN8Q!l5dzb9mZ%dX~yhwTW(}eFm}Ox;wH9|u{0{W > z1*Oi?@>|$5teVn?u~BS0l?-FwHyOixxA@a3WMKv>GqcU?2e)xJOJnR7ciydRWfOMJ > zU29=6v23>c$6VGlj`eV#zl$|x?0fegce4#zcC*_#g&kyqMMJg%HjJGiPXT){nb5Z# > z>-%uGiEG`Y88w_nOk=+%jNj43-{NS~%@-khJ7l#-)>xV_opoV1k$pPb#vY}<h3r9A > zK`sDsq3@P}ng6ZL;)7tsjWl=$Bi7k{bOtLI5~_TreDnTEo0o!Jo1?MLSd-?qxwNQ= > zy&;Sg$T*AL#tzb=S<vtva?N7n8M#}`hOluzt&TIrlkOBtqT*uKmc34o6tjm}XVTi( > z6c+C;vavg3Sa-K~E?4Mr8Zn=J!CF%K0+uFbIFs@VeZ%q#p>~XR^KWkJ0;pLGLWpGF > zO&ZPGzD~$$-a?LrC>3!Rm9Uf;A-}DA`Gf2iop4Jm*_X3%&{)lK_5<7L-v1=a(se7{ > zYqM+I-3_`oV6X1}ex0bXGn3}J`&acgHro!Is4?;Me7fd2_DTFrYm)MfCe8I7D%P`M > z@kZ($ia|<Cmi6q;gmX}BGIvJ8FFC*SQE1Yb&_U~2YQkBVe>0$E=<Uw^f$4ktaXrfv > zjSfM>d=m}2HRwYy>r6eIu;gu2<b>h;MLV7B;cko7@_)Q77#MsDFTWJkbzFlqG|+Kv > zZzso{bQeC)&NXFzn(z{O>>Qnc2~0N8O)s;#Y#Di8W@p(iRP_q-J|ferKsIx4e---b > zb?w@Lp&aP8#HrK7!|5$GX@)$=-NZLd4A-Eh4ydL5hQWT#+QGIQh&kEq-NG%m57lmE > zdxar_`&Ad48N;$jza5>KLW{Pu4Q!3u@Fv^JSUUN3u!Zb1GP|Mt5$?VoRvg0y(Z+XR > zgG=4j@37_q+e$~@1<T*uf4s|HiD92m)gHE#S;)8-7TSfr+RFxEJQ?<Z=5e=qACT-> > z`eQ$69&|tQ9_tZ9eXH3}Atyrfs@dRJ?v7XQZyQ@02`;7)AHZ0K(D`bX#mcD%PgxaY > zDiwVI->`_vK46*M_M@qnI&@uWB+?;EtI+_q<9*Bf74J#p{{Y&vQ0|B9It)wuhpe1I > z?QK6|2jaKzNuxA!dLVuE5zB<kZ9itkO(YMT(HpeqW0uI8lk;QNzDcZa;pU4kQ2s%n > z{-m0Z*>v_LnGQmn6P%!3(>|YGLUEAR9K_gqhy0vkyGrp|Jw?KK{=T`l(SVsG*(F<G > zpXbSZ2#Q-xj~rrM;&*IsYid^-@w>@&h^3W2vRcYFqsP&tKOf;u_au5d0JhndVQv0S > zrj_Ftdy+KC&-XCs-cHhVbR?Oel0WZXHPE2B#Nk-L@&jI8*sE#9D~7ee{QE8jE?J%K > zn(zq&cua47%^dH|Xkv|&M)obE2|o14L|WuyIq?pM)F}^DOr-rjsCFoYd~nWLDA2LO > z3p2<$%v!`3fyf4;fs}igbrw$lP9=w7Zm&>>BN#i+(1ar>nm}bo*aG47mldC|i>$9Z > z{0W>5tD;4p!j0bohC1G%uyLU@^2ZJ20Xl)#qkCCF$G;B0fUGVQ{*-kQU&LrPZd9^b > z0i8%aj$v?R(xPLq$icMn7<)LmEuX77Tl<SnKF7D_a+gL<p<6!#4?FbjYxY~tGb(yB > z%>x=;TKO4#(|&j8GuY>hX<P`0WQc)mv1_{<jXYf%`Mq>)Z<mpeNxa{~aSy5T?_K!f > zIN<U)4*6Oa@JQdx)4qi-P6sX?>Fd?>B&3@mJ%Svc!#-ok`#GHT4dgryyE;p{<Lu7( > z5o@I9YfB?v)KJlJWF{$@`+26Gj&i~n3LWP|k@Q~x*va$-TC$L)egX1(sS=>&J!q~K > zl?^S8{PqgffS~2*)zaj2pmKm(ub^%QDjTRKK)pcOC(w0SH1!17w4llpthaC?LLULP > zI`IoA?V#)d%2{MN39-7IWT~xAM3CV?Mg}q_@QnVgPMiU*3b+=)-9~FpLdXE^JjvP# > z$N%IlPNT?4)*@~&OsR~#g)Fhj@$aDY5;8_$W}{BA776JNsk6^F!Kv@OSJO2#!D%Rs > z9RG}LryyD)R|r_`BQKJj1Ww5*D$qT``<i5QjUMV|ylYGv<8RdVG{)}TWIc_-GieP6 > z6RDbm(e6J^v(8NT;(Ia#Amws02e3AnOrZem>jg3eF?qg3WkKlINv{T3pN^RI4Cvu6 > zj-#hL+Bf=}NM_dB{-pJH$%+Z{k09$hG<>laOz~(FlZN*?=#!78ZN69<3IDvNnKSZ` > z&JcmOkL*p`{5$gC62d=lI{b;?`vqCQWJzoem3+zO4nNB6?&w4>Mz4W;hYm=i_V8|S > z3V}-qco=#39iE4G*k`zkzw<>P(!%B*e%Nn#1Lc0jZe#^i`4!75?YwM=RRcL#rB2g! > z@7$`b6_{Z#3AX!YZj~E;BKc|L@!{uax~ZJwcpk@lLCf=aIbH@d?Klk|4X8B{^4qxD > z_fC3oTtd$I$=nyMiSssFBRTuR77l}k=?dxIubEN!gVDOL;U4!<&DZFPuc^g17>NC8 > z>No7pZpKU6-I2Fvjj%hSw!Iy1JKBcnCES$$_y+yffv))$F18IX1w;9jEZ<^u6_Wj1 > zOo-L=)weM0cS%<Z#kwfHmMttD4yGN^tYqG-(#UtWIj~-L$%FU3)jSW))2jJ;<YV`6 > z**ecs8o5}+Jr3Z#-0J`qs_AJQuIkM@BeEa-(LonSt-=!b*)MnbAl{r_Ijw&4L;BX+ > z<sLgen|gf5O2y;*4OVQj3@uPEOyT0AwDUWR_Qh259UIhXA0$Ywcl^8jNJFy7JA6?B > zu05#l_fX)AwETN`GNS$8v&^_BR!dXT$?yY9jf1*AUqT&zfVvjaO+Ub}3uyTdP}5zs > zlOuif)ek6mJ$3kz-6-xFkaMBEuSqAq@q>4`@HW|ggc4t%bw6TBSovGprY<lbgD-7U > z8u&g!M}K5pIyQsTDe<Oliiy$W{IxgjMQ-a&k!}i-dDQkN*13DlZ=fmT&EQ)v)q+o< > zf`_=m)C$q83yaD66DH+hRQ(f-<N(E<0q~FsAmJsn%2Th3-RO+Z6UcD}Q`y_(;vkNE > zXINxNE(m>XG#W!`r1r6fJ*em}T*LKuDKiy+gj$3!?6;CJ#M&pn?vT3FM#aYZ1{$w< > zeo)SZHZ(QFdbgWwMf!y<==bw!o4-V}uk)pC{=$(o*-9?XWept-!N{AC_GiqJ7s&iG > z6hDDVer9LmwhTfs?)uu2{TG(nvL_r`NonN#chFE<3he;i`wMFmZvZ<N@F(a5$lwP5 > z_=RQ0H*+KzY{0&+U^SF`j&+H<h=yCqF`FgEeY(*h87T4#Gl+Q)r`rr3jj2Ov<kPPl > zNu7OUIgcT+iu~tTpJX5Et%kB-%HKL2P3)Mr&M)JpO#WXWgXuhL&i2xX^DxO`Dm)L9 > z+J;(8GLJYbDoI!T_utRMx334YGO`_qKaU{IR=ZpLitbG4#<dID*f%k`zS*A-*Yh`0 > z*#$VK4El%zfpiyHV!LyHxHJ4ZzAvzE^6Ig2>4PDUsq@?gGF@a3Cd5HI@KNWd^JO6- > z6Xmd(?&P}&WzV7W7cuTnQC=AQKBjeHC_8~Z3d2SG3ReUr9xHN(!|W6jJpZ7Y-<X>% > zaXWrzt%Z2oLv6h1+oOq8^e5)2Lw{l}vMabxCOoGz@lb;a>Kj6#KcRs*n1w@bc1ssm > zu0vyj`aZddZu$#?d_;vD?4#v>q4O)r3y^@;cd5M8-cZ{`(qiVrwzo$FlkSl}$%<t1 > zqpKyWHwGQ>kj|>%+~3fc;H!?7(z*!tcF()R9I#v6xl9<;6iac3Rv5?P#-oBN`Y~P@ > z6n7h5t>hnpjo!#+LQ5>^CNvYa#=Q%)i|p%IqHs7u>CJ`y!XebzTo}a8xYsoozKmgq > z$lh9bkeTU^*1~o1p7$5{EsyA&b~5UO&cgFrcdkxoFTl0hBq5WHAg3gZV$0njNf;Cp > z=PivKnn1=x2y+LOB?_tWJ2%C86M*eVu0#;lR3r)Q8Jtm)&`vn`J7p&csc}!OZu=!R > zPyE$i8aW8(oh0-bGM>AXy`xMTyVGjuJ?gI`FT`4zZ_<ldY0wMEj&5q}*F4-KWJt@o > zkh)1@Y6F*|0jFBz&7}~y#n-~*l90TC^m?IBTt66Xh%9<xYr-Vnp^m$|)UN7n&?ud} > z73+leS*82cWMQ*_6;^HsVSLmmKDvWE9fYj7r(^}6?;zx`GV0q==))eQ!j4dPQoUY3 > zzKgsag)BCX!pMOh`=$ubh=zI_*}4UzKui7<VQw52-Ug#PFID)G#U<k1>Na%}cE`rg > zQ*8Y2!${jzxK4EN((=MtW5VG4&`mdWMT1_3nUs*dgV2T6cNJR1b%zv{<m!r!36sC8 > zFdqFgI1LIfB14+cuHEzd_uH)2IOq>Os(CcsWq3qmk9kD*g4Vq}O+aAlZ)EI-W?~gL > zCG0NhCQNUR#m~{cXlFTT`w3~Ri`&>w$Q0t9gsdg*sae7l7S{*w4*Dn?Z8lTv01z*w > z>;b}!YymAAfXcg2<p5z&OZbV-PDfjVr8Kf%B>w=Ak0Sj*sK`XQ1HrpLE#j#(^6*qg > z@(&bJSwh7iv?iX6gOFfk8HB8hRKindsgkF@CNEE&BtHksDh3OE;;T`YuQc-B%QSef > z(1nd8>tImcL}kdt&V1)!@O+wn<f$jgFa&v7Wai+0vJC;Uh&J++hdvr2WX8`|I%A)f > zVuuRXwHyxSg|I9P$i2VO;Gv)&K(?W%{A+UX)HSq!sF2pN9Sm5{2eAW#cvW|!0YL{$ > z?t38|7Q96{Lc3P`T7X7}JykYegphA2)Fse}9DuD<m;;vQs4Pdgu465FI_yZaYGQIO > zblAIa^Foy${NUcT<l~f|QwZf+zK^A~M_HEaeVFtnp-;cPs4x$eXt+yX3xi*s7;vB$ > zZbu_JHU&<^jQ^O<uUVQNf*<q3kL`bn>?UX~l{T7$4Pv!P)4s~t)}X;AyA)OSp}gy% > z!nss-J$iO36jB0SSkUfGAm8;upX6Mi${x*d8T#d1Fl^V@c~*=g(di?{4MGC-x<P1% > zz0ZgngtX*r?(4WsI$)FaYTEM+Ek`z@7~28*rGUy+8rkFHOgMF$oZpUdD|RGw_Hj#I > zt>M$w-nO8t!s65fc{-5y2BG}`tWB)Wy^}UC<oc`E+a3?pV&MJ5S#d|pS@D6kS{`J3 > z{-CKh3fHlp-HscD@j~49Ag^(UZWea4mV61r6kT|qrk%rtoP=YlRbXZO*Ec(wczKK8 > zB%K*fZ4A0ZOMT6-__wLZEVPfC4qj&R4inmv6KQUeX2m4UXtIOa4oB({x@kC44^Yu? > zbnhHmJ{%=eQL;oS=|%eHiKrHqzSqS2R%y(I_PjChhU}8Yd<{dh@_gRc(OE^Av-Vz3 > zhFdY}-vEidqOXwacHJr<Hvb^`MnH@&D{dDKF&+7C7m}F4U3)vme|);)Gk1MV1`FJb > zi56LeJ}n>TLX<`}lySo%;{mK4d={a5*WLe6GIncrV9GXW#M^n={z6WKhw8V>Yv>KL > z$uL@&&Tgl&(ZbS}C5Wb^xZu&jF5TVX4gsO7+uh5@2&YrxZiPN;$Tm;-B2L0<t=lqR > z_{4x1+cg!C^cOl`Aq-=!XfVNmlgLWKV_hf9@qfvrY55QaT506fCm>?-kx3@-f9+-8 > zB&z}I>0)wJ3I^&?Dcq7cS<53RDA1f2Pzje&S*1V;WonjumY`-$q`prH;}i5($hv_x > z@~p}$WOb#sPYX{AuSUrAv~U0mmXc?L2jjLtp7e6p@%H4tL+D0>*9o`9f9#vYRqI$y > zj&(wW-RE{ZD|Cs8%SQL7lgBA^iOayN&FyyzOJms>cj1e|japXae)TmWGnVDKPrNSN > z$ym%%<2C_*9LC}=4u4JD#%)dCT<&HjZI`BkM(6H2OxvwBD<Q*JZDy|$bd)AiW6P7_ > z;V12Cx==|!o~@*3IhFM46aP`MsxaxsX%`5tSSlN*y@f;HIPEa(?i^FJx$dGo?eFny > zs=IKqc555vCHte=Tq;_i9na=*0t@LEY8T@C!Lbl!Zc<R`CEBITNUjo~j1*RY>3;1> > zq<r_wNc{r<gWc8#w4-7Ws&f4eOxOu`da2ee;DExv1leCv`a=L4$;QD6x91^kh0v_j > zqBOfSkMbVX^5_9XB1AX!k7?bdVKvkH&*5lQx1}nbos&b?(e!@||Koz*{}BO7Yf3|$ > zQS^x%-ra$}*IUuM)zLf|e|T4{lAkN%BZoimsc8ises{T&o}uRdy;e;t@bJ5;CTGZ+ > z&y5^@H}7(WCu%Ndcw*h<41?Os8J^%t2&^!S96q5VXPNeNr=1EqSC#Ahb|rnUQv7gu > zBRQ98ca$zs(nsR@s`S+|JQ8=!W#x~=sd`b%ABj`wYVOr3^sz@3`XYytmR?oMtNcWT > zu11yTh|VSFm)1lXwl*mR?$yiiNSjJEZCBE*)dt;bQqsB-8P+T*Q_~aFv{LQ}7R{GD > zks~^_<CavZbY2eIMvk<XUm{03m^dPGq~p$2OWKZz)GSdYAGl7z56)BJBOFGb$dSRS > zW|#OlE^=hVR0ZZL8a#5lhjQ-LCb~~Op`FvGwQb6bo-?KvXgJKDm%nt>ZY}=e@z)H0 > z&GFX)e=YIX$~|g#>*wt|OuDpqmQCryb*U`dZ62<3w_s&E#_INUjcx5)XQ2a&bl2eR > zRSTU}-qx*kC;d&grWw!9b#Gm&8_Z-%_t`Stxw&!Of65c5xWD~F=ZIwvcL@{c2`zi| > zGW0g~$}$-H5A17n|070}5_pj@)H+%8VWZ(s79-u6$?d;MT+*Cgw}>5u)-{+g#Y|RG > zF<P9?s_<_rtxS}(v~sj)#vEKTT3m>zujLMLfgpy-)J#gDZ|)F9>_(ioiAmJ@P7$Z# > zWM77InV;#J($G7_PRvHuJH;e;^pZQpR8gyHnJ=O=k-&&Tssb8Qxb8+VkxtzSZe|MI > z2`Ox3$OSNyC0ERXOcSM4YJE_rquukxc=G0oi9(xds>v1CgSW2`vYdJcvOYIP%opuy > zEqtO!Ep2?H8w(lANOy<WjYf|Z6LBcuEYu~^;;~{kKHEGhb)|!2A+C->W5q*!(>zWb > zg;1U@PuxMR^2B61ohKS0mF_MvL(qHNrn|%@f}pP@{}f$9Oh6wZ>v%CmY8Se^?j##I > z#*1m->lu%RrjvC#sy#Dad<&?m3COXNkAo7je635P)O*CHLWe`EmKex<kC-GnFK5@m > zPPTi{WIO35f?X9EC!%3?3Z+YlG;yLBkN3ifVrHG9RTZFI=zCPWYod66lzikQF<wzs > z#2+h*9SML=Wo#(bCD5~z#Ll8g6+!8<U<Qu%CPA{o%g}*TFZusOr=&VaXN8JV5j3+x > z#7eSSIl7i7lW3(?)Fvwf+ON?U*$N6~KB}>ER*`_gKrW?-52T_zI+3B;ib1Ua+dW-A > zDlmA+l`kg68`Q$6C?6FWYGpL7%)h*%;+X|?6?H;I`Lb+2aA0{<%To^0P8L&yP6*Y? > z&_`w&hNy5dvUOC(fssNh(NBjai<NYCr7oRTP7$5RG)@(}3SDX_Z>pFka*_C>YQKx0 > z9CEgwT+i#0=+IP*6fGH+b5od#PSa9&DtM=peJX}Q#Q;f1Lkoa6lDR+}DqQ0w>r~J_ > zS0E+>=P7`_Ailyu8EL1X;%i-GoF-;alWC$vwrOH(u(VHu9i%IQL?ubJk$0NhWXC98 > z`82T?%)u~S94T}~RAoABUQgcX;v|^9p-{X<NW=N-{h(Z2C=U*2A;iSyp-?OZg=q$= > zPOl}$C`i3{hBzF0z);L+*38SRjRbV|ihISgz=rO{Sk{qYCW=>*X(q~bujLkxYY{Uc > z52m=8@@V(X6c3;Rd6aA^5|=THJ9`!!09=G^HYoJu<iJcm4oWJD@h?U}F$^N3hOEUP > z#o>HgSlZTN(STAuj>6#Ls8pMnDrCCIWCM9-E!k`eM-ITzCJ#ebA2EemJ*8_J6UcCp > z;XZM!0BC!Z8}EJMbe;&`Cl(_%VHhrU<U|$o(fsG;K$RBq&EdY2bo0eDnlx9;=8Xnf > zn?P^9tP;OqR8*5`rs}y+w_GHZQV+wmt^WjGbL2d9GBn0JeDOTdjtWshF`8m|687E4 > zOooM`iK^#Am3mc%-g*knh4dCOE&xw6*%yFRm2Arb@h%v*T)JN+FFjG{k2u^yC<bFW > z1`Rv35V|U(&_eJqlD-72t<mPe<K)4)%r1dgg;Z7|uH?E}3jUd}`upK5%@q%z3k_sh > ztm{fcA3$vuvR@CKY<WN&fOqRjy#Mt8^kX37gXsGH9<u(TOQ8i1irAO>$@`!<O~?#U > z`XaGEht@^t5DPgLK|;H%-BXLWQrzK1kPKY(iy<iNZ?W9Bmw5lhut5VEHerxO7DK2Z > zv~n`uGfG9R&^<)ne(2jXb44vpEERPeV=EPNqE4{C;+F!~VF;9>u!UTU(9A(L3YDTh > znBKi;NQND}hJ?tp6uidTMWZm(OO9>2Ov<@eY)vC24Bl1~x%njO$!{0=4j^PjXAWJ0 > z*$rA+0u7*%uBB2MRsqf>@Ht3&mx!fewqhe1mue%JZ6D&M>LL3>Aj|NR^C1XkCl5!P > ze5!3_7?g7TElRl_=8C8Iqy&27!{TOUsCWeO+vR^P_&1SK9zi2etN9U_E4<+&uo_#% > zqvB9$h%yt@+3C<~vOEf{8~6~I$gLkr;UdUDRuS)eIRz*5n7CM`c}yNs{>LD7R&B*n > zNSjql#--voOrfEOE|u1k)QaxeuZyQ$OU3jnRU2N4u5s`d;ZZ%Q(N5+vNMk35?3K#k > zB;i67R8^Ung46k&Md+AWW5jsjhDr*RiTyEjM%^gsDQB6uSr`T%d^>vMuVv7{u-fRl > zqBZq@T+|Du8nQeNT{$S^hMHD94l5Z}OU}okpArf^4rc%o^AoZ{;IdL_=@a7a%lMqS > zU1~~yTP}*6(y<)Objs@HAaF1u|8fjwt2`Xrbyt-w`FI;6{_RyV<Q8au5;_|ZCfAeV > z(z>Zo)xzyoGOxg5<90tM$5W3lS%FoSPQhM+uHtA@BXrFQOjfo=Xx&Os%c3Bwp0{Zw > z>Ks|qh}^akT(phQRh)~d5xRz>8`r6IK&MVhcc9s$e3a*a;;@(mw&5Ix*1I^`+=#WG > zqe~j0b*sdr0gal&$s$;TOr0}hLBX8I>~cC_k$VE~_06`ff<1Lzh0e2*1FWtfk7pGs > zwr~!3>PyxF4O7*wMw>>vC|ibpdVPYn&8p=s-DRuA)<P$pQc8}WVamKCy=cblf-ZGy > zm0S~f)<74S?>Q*r05jQI{BvpzCVTT*v6YbPr@Xb8akAEmB01Kg)^u_Kfu#*V5}jQu > z>M;H*K=K(U(N%~|DW?L}kHKMFh1iw4R)CkaLX4v)@rE(w<irarFbGa^1V$}K9H>BP > zSA`f$JxFXOjP+7Bp>bpVR7hebWf8Kg2>!uDUV<1)S1n1U2w}OiHTp)UNz^O2i>sF4 > zP6k1ij7l+il|v^dguHRDFEKPF-+J&Vq}ugp2iAN}xXno(%9f#@tWI8^6ZJWrs3@Df > zPS9b&{(`8lcpfED1g~U#9xmMKRT5S?5mFKkPGz9bS*acEeO^p}zn9;Cd0y;@UPI~r > zLcT}AO@2XaE9A=sQ;A-HHVvF0nfAPZ&4fi^7<vK5VOP6TUA3;(kbVP(&19E~SFK|b > zR<l#Zwlrab*uDE?|K*vZJv<!=jILGS9r`FF*9I|*mTnN?JD<cpC}Sh0oR%BKW>mZp > z{X7=Qn7|~guz0HUEo8RZ2(qlVP=J%MS}NNprgn31hImwI#yWW-;uorA7#OQSe~gU` > zTcD*{s@(|fTHLx9#feOq>LJ@EaVeY`(y5fRS+rs3$}5TWco&VF3m%pG^lUOziCv}X > za<eYO=gIhxOnoW6qY5r1y%D;aqpc0m6)yo>*$_+FFQLvtUn9JYlWQBHt2o-!2<_+S > zl16C#%jnb@u10vXjQ2Ofm%I!Qp=*S$0vcmQwp9Pi(6mi?*S&&wr}A!kMNE|LZP1P} > zHDvOLNy&0ek-+3y&Ke!4rpI9U<`J<3n2hbvD`M95Jexn!4wrRXPd`)EN5s$MY9fKL > z7EWBBudwMzH@_-M!yP;ikIJiI*@o#cMoxT1p3YaraSb<1<IJReO-yMwrbaI27hFp5 > zdNyQw4aQhSg|CU3rB0rUM-^tAnI|HFTv^D*m5$}vykRQW+(J1W7~4Q04Qp2w5~T~= > zTcwoiJT*^wxjG}cqlWtxvW6XXH8~s7sdB6RiKX=xtbEYP+r-4)4P~1oj|H@`TB&oK > zUWH}_=6Wi&!t4<C*a|(GDqiQYgRNK;?|Mtr(b%n6^W@f&4>T0nASTextzsL#=I4bF > zok1av*HM~FOf8)q;!N?V9dNY<{ZA>rLF3v48n*7<8me(&<QF#-td?}IV^m>ESk4#6 > zurt%^7+GUfOBhqeTM<FeQsL{eeK}qiQ#v=yjv83BT2$u)d9Q3<8jq@m`%F9$@oS76 > zYBUD<-$>vZwNLIdQTiM3EKV6;S8R-ttZ#@(og5rp--Buo*9~tBN9%ShYNBLn6QVXa > zQ!#+LLC_FCHXW;6z6O3nGzgPwWh>&)HXVDVQQJiQ@TjFI6*O`O|9)qZYa6V_LjKpd > zH-c_`Z(`Q_W1HAcx-b0SwEg=3tnKw4?qBIZSzn?DWicZGbdCMIE@9CBure~Fx!wkP > z(2{Nk3>C3L^l^M4&xIpPC#Re15HHppVrnmK6feU%(}?!<*!0WsMOEb5A*MB42ai$M > z)U{GA9`%oPK7`i_X|7kKiDpOL;lHk3m3B;B+w5+%O~op0<1SscjuUS98w4!fm@?BZ > zZ$*P?ub~}c+Ov3M*Jk6Ok{p;L=`>#l9rVcYG%pZXM03zd88v>%r)aWnq#Kp=SS;(_ > zg0DO45nD@9@1W|7_X0Az(lHMl;flAgIdG8uE!0^^&bJV<%dM?=8!1G8-o~C6$WO(T > zW=-@8XDh;8K-XEATA{U)Y&)@pR18ja9g%=FT(J>;%BG5|c$7#WKb?&4fVxW2P#ro? > zL7N(&%VZ{VIJV9$fr(c}&#i8NR;rxepvuYVWZ(jpT~0kYPiC^v*#NCnIlEzV5Kwp< > zy|Q(uSjOj(Bmth-@-95Cjhws0{<P&?aR%P?yAV3Dk#(1t!)$Kk6thcapH?ven~Tg| > z=s24Sy(q1tJ(IL;XoFYmz;^>)#61cTc7;bP-6QIim0iT&Rgpbl*So9spl3v-OX`fk > zjs@60F|}@2rn+;xO4c<`Zezf1BFjD$#|k(FyTkYQA-GkD@Fr%`R{LQLc;Am8Dz@?a > z5ri#N6cb%@U=Vos%ckPLgvil=$fyuG$oU@URPjDyU5-ntaNx$+zfpy3lnyc-kZGL< > zpv@@fifW97I$2B`F(ZtuMgYxmd4{hVMeD5F@&Q7>2!;LEjO>3Gmkw{B{W0oD$c-vP > zvCBYySW$a)^woJOHGgs*Sw0dcb^Ev3QO!qk?-@TvoC>b(V>u-Urp_+Z!CUMT5x@i6 > z(3NxYaS!0&70cw~Ho>9#oZ@pj9H1S-rtM%gKSVkN%TL*leQ7J7IJ%+nVbx{xVVeu+ > zIF6n7V~62fGCqerm66XUPPziU=`gn6SE9Ephb`_pEDmp2$XZRlO^CZ^9}yGVJygRL > zi$}F{tEy<bY}g1uAA#4zis?4k#&bt-R;E`5@985r3<J$4XsL+`Kf(CZlj9R86S31z > zaBg4?lfjL#mwHsx#+!Hz5sW!99+g*M*!m{6i;k(N|9!}>kfEq$pM+@pQ87*BlSl`T > ziq|8Wq5Bl}i<$dV#N#kBKE)_<koQygB-LV~%#`}E#Q9XbKAIN|t70a%979y?YDJEr > zDg>85gQ&O;3a6gjfHFGAVjw#{Lz@f93*z`ZMSecKxkT!yZzxepjm+L!BYS{<M!Bm- > z9IXz#hRopnO`pRc8VH6~yFN!m7txm&(PJ6MvG>o}h;A5(w|Iq^FJ!F8;guSc%~hJ5 > z+(7J0+Ui58E4LL`=Qm<P^MJKd(LpXe4%eT9Y+vyBOPK6$NLakA3X}5-I5IQYN+95w > zFK|GBSZ*m!)JB~UPgB<u2<YUT6iu)r`$=vq6%X;ny3WOui2`8tNgP&Pk~W@#xvi_A > zl2b4ZM5#I7gQpPOU5A5(eqyTo;wgk{_+II}E|pH-qeCFrFMcbmcTs39RFf0H6tvz$ > zc>!!1oIWl;9yNTk3!(i0j2q#!S)6Y`Tm|=O4FYAw_c>xQ6?YVq+^xRE(7=A(x&}le > zzrs;jmD~0eBG1AGzq{&dcuZ(0{ac)JY^ZfRzQv$n*;HE#b>hV4AVSl|@6d=UuM$I9 > z`5oGCAm4Y$FRAz*r|vl6`c9Wn8c5f3*&>0L(*HN0yTuRUJ2B|f>N7a?DWS@<;>vil > zBFU%{e6WBejUu4ms*4Ipl_7C@e4V`b5<$$mBx(Lx%qgwQjTZX<7D`cdMi&QNeWd$E > zOe~G!|5KQ5QyP*cTU8`5QdL&E<?;r0cPi;b6(%X=#s@4aVf!+Lz+zY6e=1P4oW(`j > zbK=lumKufMXboA;iHUc&3oGfVUIk7wsIW?bP1O9ZRwaF{Ux8h93LI@z(<;0s3aiO` > zPE0CQ$x>83+|H^04Rda<u<=LKa?xh|-@^a8L;r6pY(QW79}nE<!e@-C(5P2d7fOL# > zkD|%kS_O`DDKP4ft<^l8%Qq8BMt-^q^Hf--Laz!{y2&ctWR-5RN;k%;(2Xgh%3l#C > zY0%QThEB;==%!SX>sJh^Xt-=_iGsgcx&KG_#yv30tO%lRQv$_m!)>Yt@2gVs)qqYw > z-9ZJ^EmJ_<BLx<yicxn#ffCb|8d&<j<-65-ORq56M(GquN2x6x>Azg^Ydx2z|C_EU > z{db1@e^bG~;E(#Rpn?B~6*j1k*Z;pM!2kAC`~QCr9HTlWy#oEwt4wWtO4qej$9bY& > zNvpw-fW(vN+BWKFYVA<cI=ccD8@nkINb)KONv$ZsrKBxJ6>1eYsz!m=X3Nn3odN^t > zA<F(;-aF*|F81%98dAs%=_<6UP{nsr@tv&X`CUvYy}ee+{}(pzKU68x`44#&`c6tZ > z&?&5@JqqlsSJO3WI$MVR0bT_TRMLUbd2)JCV04-MQa3}WOGYg5l>+A!7<f@B5KuSu > z0X>%De~4}@jLm;ykGvCicm9;mAmx>LtG~qjc(tkTVi!<^h4_lUL__DQYNfh&4GMf& > zA*zc5?+lagFKjfbsP-?c>T%{45ob56FGW@+wZ)f@V)IUV&LR3l0$weDj|6u6Ram=f > z$u+S^n^rBkDK-*(J-jwsN>lIj1iY$nyF+Vjl6qMHJd{QTUpK9FO1OfvHiSz-mHciN > z_5@5y6ue&28Sx=)A(L8TTW1iYL}`ytsc?@+g<e$LA`;jm3kU(qRxKF}LG~g>DM%^J > z_Nb<?r<$zs(k=MK4zdeUYB!TyJUCO4A+SHJu-nH0+O^lOLf$UwAxO;xm2=QtM%giF > zg;Al{XHY3|Rg$A^D%zsLbgGPzGJ933Nrwup9O7v`t9WWbk@Aju_xboMpohXJ7Ozv2 > zAu`5F{iW?5CB5IMLM@fVO2iN0<D{;_e$OS1;}raf1m3Grp-Y9TFz-1P-9;PETWF?m > zoYY#~atGd1#d)ua^i85#<4pJy2^`QX@O_60OH^oA7)L8s7}qqBT1oGFRT5Q}_sb~U > zL`sp~52<*+3O$tGR7#5~;Qd<4YZ?_G62ND1cp|~*8vTGO=K+sW`T(~ISiu3kY>t6y > zSc4YUa6ql)fNBlZum-J!yM(wT-xh4cO7UvH3YFg1qW2G26}$SNma^le)OfY!)gf+H > z!>~uL0v7#%o8kTGuXyQtgm3Y_SlHzuZ!-*qLe3J88f^N|Mq!|_p)@o{&wW@;W*K5+ > zHwPL)#sq}SUT-cX!t!x}GnoSX-Byu^SFr_No%q}rBgNE0N)i6<BWnv3(<&FKx3-Y9 > z$&=>J%b!=!b3uO5jHyqcVmq%r68H#T;c(It3IjAegZl`(?Uqtk>7!~+jYkz1_`;Sb > zr6EU4v@@GrJe5Z^JY}aa2Tszrf-E27UW^QJFQ*mI8Y*c8THLDPz^rWZPq&h)pds&C > zU84KB))HeF_)eY7*{hSzB4XeYrRfMaI3|N4Ly{~^I_#Ats*`CrjyT##rTn@|TW~I` > z2qB^|s;#7rm+8<{Xr--mK{$-4A1*(-7bHkCcre1BC=H9x=0uUeLG0a=B!1xJJ+155 > zJa9<Ge_|wC5`56H5YI@VO-WKG$mo9%2g6&BAWE9j12^vfN|K&}CK1(0p&fc@ILod` > zmXZ|L0QOPkA<84+3jg|h5Yil%EL{|8ykuzyU40%VTRXHG@k0)vRu1yW#{ur#aZpLR > z_8>j(A)^d&OHYO<+8)^`$^nXUfTA3rXnUxnlJp%=^b7Pz2N>BGxH;4Txwsz90S?tV > z$URcc0WLWK(18w;SkX~xLKz(;op8cSrjGc$AhDx_tJNLhhEcYobO2@LE43#P4@!~x > z3n$^9?#8UMB}M8*l!9BJXYmiZBo*~kks%eepMr^}LYh->l&PptM-H9~!BZtS1TQow > zNDi{e!vXGn88EoYD7_OH_;FpU6S~A-Lxo67etERks~LEwn(yfpoqR6K4k_6coumZn > z*jbXm*{OaB5l^E!OW82ivd+?hr~w5`<nMy!FX$rW)1+%8{)q<=rO}{n0Lg0*tu4Jq > zvhu8Jq=gE=Prh9%nW8~Qka@0!FEc?Hm>iO(@le)Z*GhL?LSpTT7Aslq=ekPSf)K!^ > z?&BallP;NP%e7KdcfW3u5CelpcnpET+A^~AfJT4tldT5|>#33h1V90ZdSLGU9sj_` > z=z8++ReJEN^*tqi5!2EWbLo#YTp&EEo&M;jlAh=i^vo!H0P$K+sr~~9l>}qX-&0x% > z5o{T#s)Q^~9YUWbb=3T1CU3QrPW}ujsgp_OUB~?=J5NUf(Kt#sJ?S&0)MO_|<56p9 > zE+-;^GiI`6qSw#(`3+J;#4{y3oCp>KLxr;*vKVE<2ra~N=&YB#M(E*enEXZvS4Os8 > z=#^1R;18bbB|XnHZc}e5hoRl}K2lD+omUYFgb>W@gBp^&6zU^g#2vvRT&r98EdS1? > zKfjmPPfD(%MUbc;ssOF6pTq-zrvCCU@DG%3rrWcm<B-iTP#Q|pvL&l<!G(|LA)wu@ > z8-PIrKZd;B7-I^Sfc=ajgCspOR`kbNMaE$1gXA(U79Ld*XVpd11rO<lpjY7Uhscgf > zcc+v^r9&hG_o+jqiNYT>JBCVIV=>TNH%Ji-CD)D8QUF6N<_F777+qG<-YiWMVqhpY > zqrjgo^4$!URt{2xm|D`^0&lCYIH~LEe(n}{I%Ii=!4Kndvl%LC<0IQ+IFvbKmfiwm > z`(Sj)?%|TL!M)F5d|t(^(t7U8Z<QtX-U_wn?YK=s(ASD<l`!VnBcz`(3s`SQg*e64 > zqxHBo9M7ZW7h$ALMoLS74=v&TQj}T?ZOr5uDHX%wtRvxjcW=|-Gl5akeIW9Vk|trw > zHCSMYSQ%Te`qIi8yhMlOT!0B=g#}g*yLOJoLKA=w`V~Xq;GkSbH{JnvNQWC-qYH{o > zf~s#3Bo|rzI14YmQ%Z-9<*&7N-6?g7F5cCS3W6?lCq%(wjDOI@N%%<1#e|^eVnqU% > zP?qF!wR*{!ixT)8f&;kVTqzUUGmMckgtpaWkzttZV}M2&evFg_?bnWhb91N-<zJR# > zAvDm5&wnwb6Fe$jF`{6Cmwfl&fT4J-WP}Ad$HFMBxEPPqfTrW5Od-KfhH3DrZJlHp > zhrV)>W1K9IX)IK9aGc~6+M@6Cpf;SG=0U7PKZWp3gpdHE;a?PVy-PB3n!LND%;?8W > zI$4N_U*l4wOMpS##ijGg>F9-vV1ktlkD;DZcS%|SqT(C{Zt*TygOjv(!!i?VDgAC( > z5-xS#g{+BpD|I>UhVqg_<S)bsKXf-nf|WvdLvGBKar{JKJSuA^SB45zRp`;g2^{ZK > zgit?52`1ofi%c&sd2sK@DCY+gG~@)mkQ^rOc*xQY^^HeAl#y<Nlp(cmplOAD-C0~6 > z7nysK=xtDGJ#)_lG^Twm`6pn!mAQTQpuG()T?X~eib*gdxzjI^P?fx+{i@6hC&}6a > zQ-ix|5*AD7Mmb^5msT*z;NvCnG|*9MHb*wD$xzb(U*8PN6x4)^E2?eSvSAyWrbx+{ > z(!5iomC-{yRx5J|whQC4E~$TaHMHPoCK(@iMy)}kpIb1mVD<v_ZhEi_&Q_<w<Klyd > z0=S0Vr(wa*t-$&6!2+q1x*8AScq?20Gk{N!jas%`97;{YV0Fs;{rxR640bW#8!@b0 > zu0?bn3%{5k?AdT5zG(_x>!a{AX`yK4gm~&ll6|_=zuC32$|Br$z0)z8^rXdCUqYIT > zoDag0j4XuzGVm|KW(#S4d?kkUC%zIheJBqyx8+_bg$do@hi76eo5?j+%An`6q^1zS > zOa7VCEzP>A8bYkYSOkZ!4%f_^@oB~EB58Cdxdjj`mP;22_E79LsP;`THJkiJm{;{Y > z8&4DdPb8RRP+$*yD?dx>dUua#*Q;!Lnw9)^Dm!(U1bbK~7Z=a#Ii+~kto+$imq+&z > z!5&qd9#2F5eyW@$rQH>k5){|X?>#~=aN0<)5qrPPe%g$pf@PdS-KGS4rpu{D?0Z7| > z*-}dPp0b#rQ4TAE87592xkL*}8uZrLQd06&r0rRQU+j_{p0Sww2AM0QbgHFm$j?g~ > zcoI*8wr1c^z8J0{!;7!*q{JH<7SG6=IwOC2&qj^QaLU{o^Yc~I;)dY5VyStzY?VZ9 > zU#5$v8@DgRhp+q~;Z=G&(_CSbQtr<5sN4YlS#M;TXD^tOKWomEr7FFh!$>gGp{5%s > zAk#}Fi0E{Sc9trv(Ww-xH%TQ8a<2`-YOl=Am`x#@l-4cUSD^Z5!h+m%AGq1C!VMSo > z?~_vRGN{?AY-%K?k)aqp#Rao^78Oq~&biDGd#S}6_I)oS)q*`{sw-L!vW;^fT*;M% > z>s3Y8IS@{Fxp2M9c)D>f_o|vdx1gumH#zl#uvh5H?0XxiW)22nwA*BbM}mD+*w9XU > z8)nS5&7aqEYQcgTQwr+Y_b$8&dne`11^cM<s#Ww+rEkRESv-GUJ^v@8W4w3mmD%@! > z^kCmDD!stTBEi0Lb&;U@69>Weaz0vRp!9igcvlg&53VN61Gnf1iE>j*H{#|b*E}h) > zU7ygEh3kvm4QE%WW~<XfzpDrba^rm1f$b{XU<dQzf3RlZ{zsk3gB?`i`eI2xAHwv# > ziZJ~k%zT)UOpY4Vw)NNY+8S%BUpoJx2HTwC$pt-U<<FhD!miNuyNY!E(9a8`%x*eP > zhDRMj{pGedwo;J07Dy@W`dy`8`=?Xw0+@|cW>&{8OYWJ*?E0tAojJqSb9TWzK1Jlz > znN9x^wR{6-gztI_7lOS(%~mJ2tgA@d-!*s2oZ_M)jQJ@upFkNqFBb{+4|9m80sAZr > zc+TD_XVy)>*?OLCtm`aeQE~p%o|E(EUOus9m8j(#vWN5~mq@SbI{PZpXSs@I%$rwK > z(6eAR=9t+z(XPz8iuBo#p0jtVwF7Y9sxk0%<7qkDC{N4KP(i`$OO%s+73s4f{r#8- > z^qigY{4>`La@YN^>+GvYI{<bKc6D~GDr2B(*A3^D0qNX5PA`~UFlWY;OWfmttJw7b > z*!2TYM%1oVOBq<kC2y>Z0Zv&Nig&z383V3j=L6xtz`oR>Y69S&>3X0+W}iQ2`rONA > zo`HpG`39CU(0OIc8W<Hv-V<sxwD>`J2a0v6{E7dA@H2?|J}6IG`bF4v4Dz~7i=;F7 > zDa%?iE|$&+Lu%ZHQfUhlh9YEY$KH2PsN#LTJzgT^2}AtKcKx{}l0_Km<9qb!V3_w1 > z7$V5a0m22V`IR+n+FcJxo3U5&*YI!MAC~UI-puzf7V!A;=27X|nBWcAzdwTgyPQr_ > z!?7G|!S9jqfP;nK;#=`3HiI}qc@!H^Qyue)$Le{%|Cr3%uoQtGt^8qm9WU(_cxfrU > z47?ojMy1&eX0GB$@a9UYER*H;ltD{Y@&hQRo5)vPyt$BcUn35XvkY;YLdshPl61Me > zKUVJQNI)tf$1;d-M#x|d6cIFg$hQoP3n`=k-Qy@_<)!ebjBn6ZIIxkO^thyrZt>y_ > zJU<dNJE(-0(8|e6>v27fUB_@g`5%`u>m*eTd1ROjPvB7HRu3<RN3G~q2U(twhDx_a > zEhUP_*82$rl~z81@6u1k;ET%LGjVUwSFs#BBy@#;6@DUS;&Q1Q+F^VFyQKi)CUzc` > z+r3;ec9KUKS0b+}66_sPU{txcdP(;rOi)XvC(+@EM)FiT`FKi8#uZT5aGdX~fS%H2 > zO{`oYYuL8}rq>Euq4!t7lJPn03KT^2GX^zhu0((tae<XmV)v2NljqMUnm1#%ynd@+ > zzl`*9N${xtV^kH{S0YLj^-@uE4Y^jzn*i4qtma4Ad0+uSZwG=#{Httf3td<#iIh2A > zY!wq6g%c|WmK%1NbDeH2Wjq}T-hdXZLL|jbwpFlFJLy+L=rS^|#)c0;ta5DW!pdh@ > z!BKp?KnWVsmBT2@lw2_2A87?g;a4Ea5oxe^)tXds?{t!{T(PNgskmX(>P{Qk)}Rh8 > zm90UWjO1E_{qoW^QX2}ckrKEE00QmOuZ7-o5#V17L&7a;+giw}C+Aw^B8<BhgBxKw > z1eIuL1$w@We1{N7T3I2Lp(o%RFowtAjEkT#d<tzPX=J+#vb{xsmvvDW{~4!KB4}p` > z5j5?;43B}lq!Mh$VY|T3UdD<T;uw5SNzq@42z+9cYY5a-lk+Kz50k1Q#i04G9^t2x > z`U@h0HBX~6Y|0NYX{hjNH2SVEIi7~Tu~B{+jV-Hq2Jy)<{)-xD)7=iTKO=hx-!s_W > zYslzBSaR_N{8&TII-CH&r7eL>@((V}UMJ;)!nY2?WW1ML&q9-^+VCVs^QdQG!|2gp > zK)mH|h$&Y9Axyx;r&9T!l`4b@@DJ;t;uX)KiF)Pzujiz6VSF{2?m;Nav|eh(6PEQ5 > z9MCaIN^V_HRHU{S1_z{bJ$f2p-&v^l^m?g`*7LyFVyARpgU@b*R(u~WO=@T}Rz2A` > zTJ|#FthxoD{m(-cB^dOuC|-0Jt;DO4U!$VP`vUCO5>0_Ti;6c$X~N`c{^L+M72AOL > zdkNX*;9JUB8>ME5zPdK@3+@{cwbQxrj_|k>SGJ|y-Q-S;1Rpc=#zlf}$iozeynZD; > z&8xy{9PY*dPrV-3CX?;}v_3tX^qX<S!YNR68h*cMGkOmv8Ne!xk)gWB9bwC;J9B#$ > z&6qpyvI%!O{65GN<dIxYUR-(8@au=sN1O2z+L7R!C1k3CZ=GJltHPryYkDEss-&!j > zI-D-MT=Z-eEX_jJDx8k!U&4DORq=Q0OE}6cq}@SXVoVS`952BZ9SZP}>1CvBWO)U9 > z1EY@D7V$sJ0on*Z<b4^=tVBuPrurWX6#o)p{5@Q}SP~pS;VV*RCj+O#Bd-l2>b(b~ > z^EeXs9ZWa@mm<L;Rp&FqGCoMpe;~D4<!FP3&&<PFdW%SKiB-w6RZ-rnI0?^Il0`Tf > zd==8>DL2|9uS$7vck=D_($|#ZvDc)n7!i&wXgyB-ILIU47ML!=c3a?X5USZK6<=?X > z8P<K3^pj!^__Ye9qB12vINLrqe_Fx3`)vhkf7zA%*(IcNVJ%ba!N<KB{3g8db!m6> > zt~NY^)dRb1Rf*VP${SL*2BB7d+ukx-OlT9lPoBoWQ}rn#PLJM*#`5dY&seDH4K&51 > z{BF~!H!x}7*M#1X#_>_8r%BtSO1PLJghMlag%e5LE)@%NLT<-)xLfqJ_e~6-Y%=VS > zRtWQ}DfBiRAC^yWTd8z*hm<bn@n+#s?Q9lSFmAMK0Zy$v(!^#_pF0bz+~{vj9Sc8? > zfi8r*^<X3*GRvvMC7e|x$f-RL0Ms67l6nfsv3YOFwkh}9`nM!obmgH@9WGWlhPQD5 > zX5iJxhtuy!Newo`(c?gL*_?v>sgKlctsd}^<sH;&#|Z?w9ctPM9+>^!#YhOf15fur > zI7(rEtPzECC!9qUxptzNV6k56*xb*Ya)Scs*Lr6Bltei&co)k@GZnszO4SK$H{OLs > zAqu?<F8JJjSAEu`U6`IK`8<GWa2Kjateh`3PIJ6Xc~9Mq;)`AQ?pf+cvvx}#NQ=W< > z0z7I56<I4L^69$>=In*jF7+$FZ1$X2N~WdW=nCtQ7ypZiRjJIlM|w=KW0~{@Ec36o > zq}FuL5}h_CXme3$50(vO6^|n04C&Ho_FgF&|6!f-s5Q=1MhMq|bFcJmvfNem0$rND > z4<pow50c@5Tkn@rg=gT%0pWoy`{6Vm4wH)~F{kZE`|~KgAIFwXWo9|_9%eK%Ir-1D > z{q>$S0B*}rf^*{A-<R(0W>7_vK_pmK$zLKtC5{N6UaO=Z3&|IA;Nz8hVr9_40XPwZ > znjNOX1Gt=_HmGeGUv6TsR!i}8`T(lORP;Hv1waf(J8<U!ie8#cwrco(tHPs9OU`O# > zAn;FI4)OD7OcV)iBf(|zSOUyeNSDFu;hGSnRis%SBF6{dRH9~M8T5g?6wrN$5w{Hf > z_(L$pA=8sMUoZVo+AS=TL;FeiX<P;Ocj;T<@mlp(!ADrMqDwx4Ypdi7Z~XMs$5=_J > z=Z}jo$@VJQe|;?V;_?22=%o_!UBJR)(?O|BcoMyI=n~u^;8p<V!~LR_SiJfmWZsU$ > z(zh`Uf4S(xN(vvvtmNP=!lU{!piQ6RAbm{@**}#QCZ{X8Q4?OP4t9{~j!9|B&Z}ly > zj!Cz)TkF4SzU!Ej)6iTm;cj>ZJ(T(xE?!hBR~=@5CK-e^etcR6vq$ZIsS|zonUol> > z+SA%9p4FMU*GLI<xLR^`#?kQf8p#mFRhY?9BW2Ykv1G2nGEtQ?+RinVr2QOvb&~b- > z=q3v!mni8KJ|I7rTBP)T7#Vh6J`#ND@&Oirn*5(b$+FpiqQ1O+0J=~v-}ln;Ud{(k > zJ)!M*qoo69>o|z9cJMfkuPjQ5`XUuypoFZI%NV&nMU5%Pq~@u%DVJ3FwEwd5!Aj`y > z3n?k8AE?!ZBsA_gfq5tOnA9wFwrxti=YFPvg)}UWE>OywPe81y%PNx_aze^!_?tFd > zZJfHX+R{(ruH!myBQCa+SL`MGF-)$!&2;#rl-O`DfNJDVI9r{Py3w~M<z1uhGdKm? > zDU8Ver!ZevlB*mYEwk9eu}e?MWcHo#HGlDPpPho=o^>4a_t4WA!gj^tmY&91cwIF) > zPs3V`inadZw3Hw`<Kl@dzSxy5(~rfjnZFyT%FnlBK+w1R?R{?HX#pgg@_(lDe}?gY > zHV5GDbmR?yO*RLesa+8JH%xp%Y&V{&R&bAV96U-8WO)keH;!_W?n{t8T}zgqunMt$ > z3HiI8mhcNn(1-m?s9oPkz119TZG_f+b;T~t`wE@3A=HT6$;q=Dp=&wX-Uw~{8eBG3 > zH^P^E4RT#0w3nmv8lkn{0PSpqwtNHTFV;4~S8{S=Beb8RuV9Veg3BgvBXZlfAlEiR > zdpO$C5M5CVY-K|%nQOs&v%eAE!O7Dbp=&tW)(CC*4qU1{jqruvfn3Gbdk%7Ow7C&= > z_&e;B9f}_w`90<?1KGZZSz%-IJ*@A;@1?fF1{e9ihh1$5E69OAz}8G;`2log3hLz_ > zK)2CHUXH`5{ZAM^oqohF$BO^Y3ViPV5k;!_dw=1@kb?V=<FFn75k(L<;ba4U0-H_P > z`2GZ(PQktW6UboYKk=I?6=%R;b1eXPo<W9@Y-d1QB4a*0gW^?Q@^h3{Mh!d*A`4m0 > z0)zRO4-4m6?gGA-S~m|qSHl$&3BFWIzOz^YS^1BjaYC<--wN33By$L>xvf63g|K8q > z*^tB|B(5p&5h*`Q%akA-uD;9t1Bi=DKjR8_mBRORtiXRpG{+mdOz}aNhm5~qKlyrf > z13Wg13`=X1ik3knxJ|ZCY>s^#0Vwx6pmO6Gn`UJxv&~AnbJ(q@#omx>1z9y^pTi2r > zpq9pZ>l_vj+48+{#y5d&BEjw1O73>O3YCqvV~Mt93<OxU#6l(Kv1rRvv(w3W9t)zg > z=MWyTlJ7h&F>J3<^D4>kE7az4(URHtg^KaNN^OMwezN^4P48xyl|QqfXR)ndcK+m| > zg1YmaH|1(kUY#D>m@6(wqoTi;g8i1|Ph9?3cme(q^VJ1RTe!6(;&%6Kio5|_QpDP6 > zQUfOxOf$&QLTQKJ&V{R+&Ue%(OZ(D`SmvAXUtNJC?DiszKu7+Iur)Io!dL)q50NE| > zRg*is)Df2O*9L!W@t1(VM7JZHG;i1{hs7Oh(*Mv>{EAl*sd;EWhZ;?@$f_mTls!_v > ZMVKE;wIlUI*~8?Vr|m#Dj?(}6e*jT)>+Apk > > -- > 1.7.10.4 >
diff --git a/hw/pci-host/apb.c b/hw/pci-host/apb.c index b709456..bc54366 100644 --- a/hw/pci-host/apb.c +++ b/hw/pci-host/apb.c @@ -599,16 +599,35 @@ static uint64_t apb_pci_config_read(void *opaque, hwaddr addr, /* The APB host has an IRQ line for each IRQ line of each slot. */ static int pci_apb_map_irq(PCIDevice *pci_dev, int irq_num) { - return ((pci_dev->devfn & 0x18) >> 1) + irq_num; + /* Return the irq as swizzled by the PBM */ + return irq_num; } static int pci_pbm_map_irq(PCIDevice *pci_dev, int irq_num) { + PBMPCIBridge *br = PBM_PCI_BRIDGE(pci_bridge_get_device( + PCI_BUS(qdev_get_parent_bus(DEVICE(pci_dev))))); + int bus_offset; - if (pci_dev->devfn & 1) - bus_offset = 16; - else - bus_offset = 0; + if (br->busA) { + bus_offset = 0x0; + + /* The on-board devices have fixed (legacy) OBIO intnos */ + switch (PCI_SLOT(pci_dev->devfn)) { + case 1: + /* Onboard NIC */ + return 0x21; + case 3: + /* Onboard IDE */ + return 0x20; + + default: + /* Normal intno, fall through */ + break; + } + } else { + bus_offset = 0x10; + } return (bus_offset + (PCI_SLOT(pci_dev->devfn) << 2) + irq_num) & 0x1f; } @@ -669,6 +688,12 @@ static void apb_pci_bridge_realize(PCIDevice *dev, Error **errp) PCI_STATUS_FAST_BACK | PCI_STATUS_66MHZ | PCI_STATUS_DEVSEL_MEDIUM); + /* Allow 32-bit IO addresses */ + pci_set_word(dev->config + PCI_IO_BASE, PCI_IO_RANGE_TYPE_32); + pci_set_word(dev->config + PCI_IO_LIMIT, PCI_IO_RANGE_TYPE_32); + pci_set_word(dev->wmask + PCI_IO_BASE_UPPER16, 0xffff); + pci_set_word(dev->wmask + PCI_IO_LIMIT_UPPER16, 0xffff); + pci_bridge_update_mappings(PCI_BRIDGE(br)); } @@ -690,9 +715,9 @@ PCIBus *pci_apb_init(hwaddr special_base, d = APB_DEVICE(dev); phb = PCI_HOST_BRIDGE(dev); phb->bus = pci_register_bus(DEVICE(phb), "pci", - pci_apb_set_irq, pci_pbm_map_irq, d, + pci_apb_set_irq, pci_apb_map_irq, d, &d->pci_mmio, - get_system_io(), + &d->pci_ioport, 0, 32, TYPE_PCI_BUS); qdev_init_nofail(dev); s = SYS_BUS_DEVICE(dev); @@ -725,14 +750,14 @@ PCIBus *pci_apb_init(hwaddr special_base, pci_dev = pci_create_multifunction(phb->bus, PCI_DEVFN(1, 0), true, TYPE_PBM_PCI_BRIDGE); br = PCI_BRIDGE(pci_dev); - pci_bridge_map_irq(br, "pciB", pci_apb_map_irq); + pci_bridge_map_irq(br, "pciB", pci_pbm_map_irq); qdev_init_nofail(&pci_dev->qdev); *busB = pci_bridge_get_sec_bus(br); pci_dev = pci_create_multifunction(phb->bus, PCI_DEVFN(1, 1), true, TYPE_PBM_PCI_BRIDGE); br = PCI_BRIDGE(pci_dev); - pci_bridge_map_irq(br, "pciA", pci_apb_map_irq); + pci_bridge_map_irq(br, "pciA", pci_pbm_map_irq); qdev_prop_set_bit(DEVICE(pci_dev), "busA", true); qdev_init_nofail(&pci_dev->qdev); *busA = pci_bridge_get_sec_bus(br); @@ -798,8 +823,8 @@ static int pci_pbm_init_device(SysBusDevice *dev) sysbus_init_mmio(dev, &s->pci_config); /* pci_ioport */ - memory_region_init_alias(&s->pci_ioport, OBJECT(s), "apb-pci-ioport", - get_system_io(), 0, 0x10000); + memory_region_init(&s->pci_ioport, OBJECT(s), "apb-pci-ioport", 0x1000000); + /* at region 2 */ sysbus_init_mmio(dev, &s->pci_ioport); diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index c3280aa..2edd1cc 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -27,6 +27,7 @@ #include "cpu.h" #include "hw/hw.h" #include "hw/pci/pci.h" +#include "hw/pci/pci_bus.h" #include "hw/pci-host/apb.h" #include "hw/i386/pc.h" #include "hw/char/serial.h" @@ -42,6 +43,7 @@ #include "hw/nvram/fw_cfg.h" #include "hw/sysbus.h" #include "hw/ide.h" +#include "hw/ide/pci.h" #include "hw/loader.h" #include "elf.h" #include "qemu/cutils.h" @@ -436,7 +438,8 @@ static void sun4uv_init(MemoryRegion *address_space_mem, DeviceState *dev; FWCfgState *fw_cfg; NICInfo *nd; - int onboard_nic_idx; + MACAddr macaddr; + bool onboard_nic; /* init CPUs */ cpu = sparc64_cpu_devinit(machine->cpu_model, hwdef->default_cpu_model, @@ -450,10 +453,17 @@ static void sun4uv_init(MemoryRegion *address_space_mem, ivec_irqs = qemu_allocate_irqs(sparc64_cpu_set_ivec_irq, cpu, IVEC_MAX); pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, ivec_irqs, &pci_busA, &pci_busB, &pbm_irqs); - pci_vga_init(pci_bus); - /* XXX Should be pci_busA */ - ebus = pci_create_simple(pci_bus, -1, "ebus"); + /* Only in-built Simba PBMs can exist on the root bus, slot 0 on busA is + reserved (leaving no slots free after on-board devices) however slots + 0-3 are free on busB */ + pci_bus->slot_reserved_mask = 0xfffffffc; + pci_busA->slot_reserved_mask = 0xfffffff1; + pci_busB->slot_reserved_mask = 0xfffffff0; + + ebus = pci_create_multifunction(pci_busA, PCI_DEVFN(1, 0), true, "ebus"); + qdev_init_nofail(DEVICE(ebus)); + isa_bus = pci_ebus_init(ebus, pbm_irqs); i = 0; @@ -466,27 +476,43 @@ static void sun4uv_init(MemoryRegion *address_space_mem, serial_hds_isa_init(isa_bus, i, MAX_SERIAL_PORTS); parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS); - onboard_nic_idx = -1; + pci_dev = pci_create_simple(pci_busA, PCI_DEVFN(2, 0), "VGA"); + + memset(&macaddr, 0, sizeof(MACAddr)); + onboard_nic = false; for (i = 0; i < nb_nics; i++) { nd = &nd_table[i]; - if (onboard_nic_idx == -1 && - (!nd->model || strcmp(nd->model, "sunhme") == 0)) { - pci_dev = pci_create(pci_bus, -1, "sunhme"); - dev = &pci_dev->qdev; - qdev_set_nic_properties(dev, nd); - qdev_init_nofail(dev); - - onboard_nic_idx = i; + if (!nd->model || strcmp(nd->model, "sunhme") == 0) { + if (!onboard_nic) { + pci_dev = pci_create_multifunction(pci_busA, PCI_DEVFN(1, 1), + true, "sunhme"); + memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr)); + onboard_nic = true; + } else { + pci_dev = pci_create_simple(pci_busB, -1, "sunhme"); + } } else { - pci_nic_init_nofail(nd, pci_bus, "ne2k_pci", NULL); + pci_dev = pci_create_simple(pci_busB, -1, nd->model); } + + dev = &pci_dev->qdev; + qdev_set_nic_properties(dev, nd); + qdev_init_nofail(dev); + } + + /* If we don't have an onboard NIC, grab a default MAC address so that + * we have a valid machine id */ + if (!onboard_nic) { + qemu_macaddr_default_if_unset(&macaddr); } - onboard_nic_idx = MAX(onboard_nic_idx, 0); ide_drive_get(hd, ARRAY_SIZE(hd)); - pci_cmd646_ide_init(pci_bus, hd, 1); + pci_dev = pci_create(pci_busA, PCI_DEVFN(3, 0), "cmd646-ide"); + qdev_prop_set_uint32(&pci_dev->qdev, "secondary", 1); + qdev_init_nofail(&pci_dev->qdev); + pci_ide_create_devs(pci_dev, hd); isa_create_simple(isa_bus, "i8042"); @@ -527,7 +553,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, /* XXX: need an option to load a NVRAM image */ 0, graphic_width, graphic_height, graphic_depth, - (uint8_t *)&nd_table[onboard_nic_idx].macaddr); + (uint8_t *)&macaddr); dev = qdev_create(NULL, TYPE_FW_CFG_IO); qdev_prop_set_bit(dev, "dma_enabled", false);
This patch updates the sun4u model to being much closer to a real Ultra 5 by moving devices behind the 2 simba PCI bridges (A and B) as found on real hardware. The most noticeable change introduced by this patchset is that in-built devices are no longer attached to the PCI root bus, but instead behind PCI bridge A. Along with this the interrupt routing is updated accordingly to match the official documentation. Since the existing code currently bypasses the PCI bridge interrupt swizzling, the interrupt mapping functions are reorganised so that pci_pbm_map_irq() is used by the PCI bridges and pci_apb_map_irq() is used by the PCI host bridge. Behind the sabre PCI host bridge, the PCI IO space now needs to be split into two separate halves at 0x8000000. Therefore we also setup a new PCI IO space region of increased size on the PCI host bridge and enable 32-bit PCI IO accesses to allow IO accesses to reach devices behind PCI bridge B correctly. As part of this change we also combine the onboard sunhme NIC and the ebus into a single multi-function device as done on a real Ultra 5. For other NICs we initialise them and place them into the next free slot on PCI bus B. Finally we mark the physically unavailable slots (plus slot 0 in busA) as reserved to ensure that users can't plug devices into non-existent slots which will break interrupt routing. Note: since this commit changes PCI topology and interrupt routing, an updated openbios-sparc64 binary is included with this commit containing the associated changes to maintain bisectability. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> --- hw/pci-host/apb.c | 47 +++++++++++++++++++++++++++--------- hw/sparc64/sun4u.c | 60 +++++++++++++++++++++++++++++++++------------- pc-bios/openbios-sparc64 | Bin 1593408 -> 1593408 bytes 3 files changed, 79 insertions(+), 28 deletions(-) diff --git a/pc-bios/openbios-sparc64 b/pc-bios/openbios-sparc64 index 7bdd6a1f4977eae6693883468cab78ba3ba363cf..955f45d33238dda2f1e99d97be9463fd1fac479d 100644 GIT binary patch delta 31686 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 E0sUr(c>n+a delta 31753 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 ZMVKE;wIlUI*~8?Vr|m#Dj?(}6e*jT)>+Apk