From f480f6e8c5ca9a27c046e3a273a4693d2475bdc2 Mon Sep 17 00:00:00 2001 From: "hiroyuki.obinata" <hiroyuki.obinata@gmail.com> Date: Wed, 30 Oct 2019 09:23:18 +0900 Subject: [PATCH 1/4] remove unnecessary ifdef TARGET_RISCV64 Signed-off-by: Hiroyuki Obinata <hiroyuki.obinata@gmail.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com> --- target/riscv/translate.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index b26533d4fd..ab6a891dc3 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -64,12 +64,10 @@ static const int tcg_memop_lookup[8] = { [0] = MO_SB, [1] = MO_TESW, [2] = MO_TESL, + [3] = MO_TEQ, [4] = MO_UB, [5] = MO_TEUW, -#ifdef TARGET_RISCV64 - [3] = MO_TEQ, [6] = MO_TEUL, -#endif }; #endif From 7ec5d3030b9293ab631dd653f64bc933b6c82e65 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.francis@wdc.com> Date: Tue, 8 Oct 2019 15:04:18 -0700 Subject: [PATCH 2/4] target/riscv: Remove atomic accesses to MIP CSR Instead of relying on atomics to access the MIP register let's update our helper function to instead just lock the IO mutex thread before writing. This follows the same concept as used in PPC for handling interrupts Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Palmer Dabbelt <palmer@dabbelt.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com> --- target/riscv/cpu.c | 5 ++-- target/riscv/cpu.h | 9 -------- target/riscv/cpu_helper.c | 48 +++++++++++++++------------------------ target/riscv/csr.c | 2 +- 4 files changed, 21 insertions(+), 43 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 3939963b71..d37861a430 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -224,8 +224,7 @@ static void riscv_cpu_dump_state(CPUState *cs, FILE *f, int flags) #ifndef CONFIG_USER_ONLY qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mhartid ", env->mhartid); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mstatus ", env->mstatus); - qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mip ", - (target_ulong)atomic_read(&env->mip)); + qemu_fprintf(f, " %s 0x%x\n", "mip ", env->mip); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mie ", env->mie); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mideleg ", env->mideleg); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "medeleg ", env->medeleg); @@ -275,7 +274,7 @@ static bool riscv_cpu_has_work(CPUState *cs) * Definition of the WFI instruction requires it to ignore the privilege * mode and delegation registers, but respect individual enables */ - return (atomic_read(&env->mip) & env->mie) != 0; + return (env->mip & env->mie) != 0; #else return true; #endif diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 8c64c68538..e59343e13c 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -121,15 +121,6 @@ struct CPURISCVState { target_ulong mhartid; target_ulong mstatus; - /* - * CAUTION! Unlike the rest of this struct, mip is accessed asynchonously - * by I/O threads. It should be read with atomic_read. It should be updated - * using riscv_cpu_update_mip with the iothread mutex held. The iothread - * mutex must be held because mip must be consistent with the CPU inturrept - * state. riscv_cpu_update_mip calls cpu_interrupt or cpu_reset_interrupt - * wuth the invariant that CPU_INTERRUPT_HARD is set iff mip is non-zero. - * mip is 32-bits to allow atomic_read on 32-bit hosts. - */ uint32_t mip; uint32_t miclaim; diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index f13131a51b..767c8762ac 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -19,6 +19,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" +#include "qemu/main-loop.h" #include "cpu.h" #include "exec/exec-all.h" #include "tcg-op.h" @@ -38,7 +39,7 @@ static int riscv_cpu_local_irq_pending(CPURISCVState *env) { target_ulong mstatus_mie = get_field(env->mstatus, MSTATUS_MIE); target_ulong mstatus_sie = get_field(env->mstatus, MSTATUS_SIE); - target_ulong pending = atomic_read(&env->mip) & env->mie; + target_ulong pending = env->mip & env->mie; target_ulong mie = env->priv < PRV_M || (env->priv == PRV_M && mstatus_mie); target_ulong sie = env->priv < PRV_S || (env->priv == PRV_S && mstatus_sie); target_ulong irqs = (pending & ~env->mideleg & -mie) | @@ -92,42 +93,29 @@ int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts) } } -struct CpuAsyncInfo { - uint32_t new_mip; -}; - -static void riscv_cpu_update_mip_irqs_async(CPUState *target_cpu_state, - run_on_cpu_data data) -{ - struct CpuAsyncInfo *info = (struct CpuAsyncInfo *) data.host_ptr; - - if (info->new_mip) { - cpu_interrupt(target_cpu_state, CPU_INTERRUPT_HARD); - } else { - cpu_reset_interrupt(target_cpu_state, CPU_INTERRUPT_HARD); - } - - g_free(info); -} - uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value) { CPURISCVState *env = &cpu->env; CPUState *cs = CPU(cpu); - struct CpuAsyncInfo *info; - uint32_t old, new, cmp = atomic_read(&env->mip); + uint32_t old = env->mip; + bool locked = false; - do { - old = cmp; - new = (old & ~mask) | (value & mask); - cmp = atomic_cmpxchg(&env->mip, old, new); - } while (old != cmp); + if (!qemu_mutex_iothread_locked()) { + locked = true; + qemu_mutex_lock_iothread(); + } - info = g_new(struct CpuAsyncInfo, 1); - info->new_mip = new; + env->mip = (env->mip & ~mask) | (value & mask); - async_run_on_cpu(cs, riscv_cpu_update_mip_irqs_async, - RUN_ON_CPU_HOST_PTR(info)); + if (env->mip) { + cpu_interrupt(cs, CPU_INTERRUPT_HARD); + } else { + cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD); + } + + if (locked) { + qemu_mutex_unlock_iothread(); + } return old; } diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 974c9c20b5..da02f9f0b1 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -579,7 +579,7 @@ static int rmw_mip(CPURISCVState *env, int csrno, target_ulong *ret_value, if (mask) { old_mip = riscv_cpu_update_mip(cpu, mask, (new_value & mask)); } else { - old_mip = atomic_read(&env->mip); + old_mip = env->mip; } if (ret_value) { From 3158add2bd12b5db812b8362bebbaba1e9d4d265 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.francis@wdc.com> Date: Fri, 25 Oct 2019 16:15:45 -0700 Subject: [PATCH 3/4] opensbi: Upgrade from v0.4 to v0.5 This release has: Lot of critical fixes Hypervisor extension support SBI v0.2 base extension support Debug prints support Handle traps when doing unpriv load/store Allow compiling without FP support Use git describe to generate boot-time banner Andes AE350 platform support ShortLog: Anup Patel (14): platform: sifive/fu540: Move FDT further up lib: Allow compiling without FP support lib: Introduce sbi_dprintf() API lib: Use sbi_dprintf() for invalid CSRs lib: Handle traps when doing unpriv load/store in get_insn() lib: Delegate supervisor ecall to HS-mode when H extension available lib: Extend sbi_hart_switch_mode() to support hypervisor extension lib: Extend sbi_trap_redirect() for hypervisor extension lib: Redirect WFI trapped from VS/VU mode to HS-mode include: Extend get_insn() to read instruction from VS/VU mode lib: Emulate HTIMEDELTA CSR for platforms not having TIME CSR Makefile: Minor fix in OPENSBI_VERSION_GIT lib: Fix coldboot race condition observed on emulators/simulators include: Bump-up version to 0.5 Atish Patra (16): lib: Provide an atomic exchange function unsigned long lib: Fix race conditions in tlb fifo access. platform: Remove the ipi_sync method from all platforms. lib: Fix timer for 32 bit lib: Support atomic swap instructions lib: Upgrade to full flush if size is at least threshold docs: Update the fu540 platform guide as per U-Boot documents. lib: Change tlb range flush threshold to 4k page instead of 1G lib: provide a platform specific tlb range flush threshold lib: Fix tlb flush range limit value Test: Move test payload related code out of interface header lib: Align error codes as per SBI specification. lib: Rename existing SBI implementation as 0.1. lib: Remove redundant variable assignment lib: Implement SBI v0.2 lib: Provide a platform hook to implement vendor specific SBI extensions. Bin Meng (6): platform: sifive: fu540: Use standard value string for cpu node status README: Document 32-bit / 64-bit images build treewide: Use conventional names for 32-bit and 64-bit platform: sifive: fu540: Expand FDT size before any patching firmware: Use macro instead of magic number for boot status docs: platform: Update descriptions for qemu/sifive_u support Damien Le Moal (4): kendryte/k210: Use sifive UART driver kendryte/k210: remove sysctl code README: Update license information kendryte/k210: remove unused file Georg Kotheimer (1): utils: Use cpu_to_fdt32() when writing to fdt Jacob Garber (4): lib: Use bitwise & instead of boolean && lib: Use correct type for return value lib: Prevent unintended sign extensions lib: Correct null pointer check Lukas Auer (1): firmware: do not use relocated _boot_status before it is valid Nylon Chen (3): firmware: Fix the loop condition of _wait_relocate_copy_done section platform: Add Andes AE350 initial support scripts: Add AE350 to platform list in the binary archive script Palmer Dabbelt (1): Include `git describe` in OpenSBI Zong Li (1): Write MSIP by using memory-mapped control register Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com> --- pc-bios/opensbi-riscv32-virt-fw_jump.bin | Bin 36888 -> 40984 bytes pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin | Bin 45064 -> 49160 bytes pc-bios/opensbi-riscv64-virt-fw_jump.bin | Bin 40968 -> 45064 bytes roms/opensbi | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/opensbi-riscv32-virt-fw_jump.bin b/pc-bios/opensbi-riscv32-virt-fw_jump.bin index f5bcaa56954c860d09acc0cb337c1666d88b6efb..6c5b7b89f676392b687d9835ac9fbdc34f3052cd 100644 GIT binary patch delta 14873 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 A4FCWD delta 12181 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 diff --git a/pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin b/pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin index eb22aefdfb468cfe2804cb4b0bc422d8ebcae93b..971f2be4054d481461efbddca947c44fcfc73ce9 100644 GIT binary patch delta 19607 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 delta 15815 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 EUoM+4s{jB1 diff --git a/pc-bios/opensbi-riscv64-virt-fw_jump.bin b/pc-bios/opensbi-riscv64-virt-fw_jump.bin index 4cec6f0210f31969ac232123ce101ce71bbf9f2b..45a5aed1ce0cc2121a9e9b9733010d85da5f53ba 100644 GIT binary patch delta 19061 zcmch93tSUd+V@OOW+ve}7$D#kiGW(yMgv~@S&L{Av5Hru*j14M5pC-Qt)<om7(xUE zv`3A%R*NlGcGtQ_rM7EP6e8`av{fnHZHs`S)f(D@h*kNXlL?6IzVEmGzVH3;cYc$Z z^PK1W&vP#G+{O*3WE<*arnJG4zX(y3k5xudI7=3#Miiw&s6%r&k&>Q8O%RXBDA)4| zNQWpZ&|q=m3!)8CI<MK0{ofNZSMgRacv^7B+g9*)<o5T3^Rwl`*MeLPPgP!C;{^TN zlrZ}>iasbkIdos`4K+dD4v)^N?+*!j6A&$@T8o8>Gqmtc1ATtW-hR*RA0<@Gri5?K z(61hH_1)@h?On)q*651`{X%Gbk&ZtkRICE(dU|E?mb*bOp^*f$keN7GYKycIg4e=y zUJD|7zh{m?Wr(7k{~D(J*dZ&B#+~&C*O-St9`l)DWX!g##K`yF!E@>7)dye<T$52; z#xdv>BcuKr?q!LMxP%_;X1{8!0g+gYSMfjT^_-K`^1pC`Y=W1aG_zc?!WCOA_+#0l z0nTb;XeXz%XJB6DtaFz*MwR2gqcM{+`sMGV9{**yeoEJB%6T2=6I>VCIOT@=AoQVB z_D4z43`$ipI%TfRdI|c=p7bf6DmQp!-5IjaCZj18op}fEkq6R0;iGbcjE}<)<TLOL zCJ)y$zB28L_$_`M4rgckQ~*Qf!|jfs8R2H5z_$9oqZp5`u-+(x8;NhQGbZo@Qm@j6 z3+7O>BXUK|{F?$&Dv)s}D;jcH(Rh#*^(WY14jHQ0*urv7G}N-Sh4l<F-ekYem-&mv zcAU<=JgjbAzpI&g;K5VgK0iBuQQBbT%^0&|Mn)gem@CiSC|I~&ju{D_?<l55S9{KH zWn8^#pP%*%wA5A)j(#Y}p0@XGiujnwr49Z}vzhcy%~;>Scm3uYdNX%Kd$!!XQ8077 z3&%#zi{Oe>h?TxFRJoNF?Y=askjuo1Y#Q0|IOV{xta$D$UBsbtljy2~X$7@~<zA>_ zjx5Scthhu+c_aHA+IHs$O843YO1Hd&sz+jFlB^!M;q6LoY>}UC$vrw)txHa(Y}fo~ zT?$8+`$zegt0iXj{S*6Rze1$irj*e}+jU^H_yYBPKE1^eseR2k88Z^x8+hdfPn&dC zrwPP?ZmA~gc32HLm2=f_Rk4OR>o&MISH!8|s$weQG?apJXfxiF?)5J@w5QSqxmz#H z<WbTyb1Kxo@mm<L#SA4E&T<r7Whz$Q-mU)iOuaz6$&j%(BO2To(KwV5_0KWE_@SFu zptCE6ut~dMmKudDb!hjk!h_tOcX!r)nBvd|y@p?LA7OIdUrTmq6M*J0Jv7gu)yn#? z47Hnab3tMj1Ft3BAg7Sk7`Y<kvrK*a$+0Vg@5S6^AB46{X`XdsZsWYV3<??jkT{7! z;^Yv7CP$!>Tv(%eJ<=DJE5x($$adofm8d}WRMbzmB!HIriRaRhE}5Z=e5*D^sr7|; z>jqT2>92UK$IO(KO)=)-d80Ot%ymRo|Iu1X_V<B^O~U&|o7*u;VB0-*b2mF$cV~uO zJ#)o8#q0>$x6qs7>C>l>eJd+gX0xLG16Hg!N;XR6S!ttGUXnJ7y;0gI_7*&1b^vzw zj0l)z&a%F56i~Y?eXJ_Iwu2r*>je)bg*VUk4S|(OtyoO!FPF~C`5Jy}QyZo+52S9X z*`!<ZgIMhF3<+3aECIk7F?~E3YUjBrKn+q0(yH+=FCF~@PVkBt^4-m{X|Y$!Cinz5 zQi`+{6T*X&CeT?KM5429ND_^?J-0D~!sT8%({Zw-LjBQLmV&*mhJEh){idOLLw7nN z6JGf0=?2SAD=6~+svt@oTUZaAkliX5D=l(#?tomZD3zm1yF8eSEsTOaSR>ahxk1%4 zFkMY@+ck#9hdljFbV!ypQ%{6_D!e4yvx<&BJ;k~crY1M{S={DJ<z5tS52dkMDQg!m zSoci4V9m130(tQh%^A#)_6PMVqE;8JmZjIHMlCH`I&e`|Mq0vz@XMue%K6eh!8hQz ztz&Of{P5h8?ADvoq^B?&1c7Gw&}|xbEkk`l1WIXV;@5e@vsRdB3k&#RqDxu850mY} z&r0|KK1<-ksc3J*6TD~QaXvnNu>7%EKVYEVK}FJ}8_j12T5zJzkceYs$6ou@5tQ%; zE4)asCF~b;0(K)u1%0tqXt2u2Q_bhrJ8CDTz8TitFnr1<u^SfjZ?PmY1PfX25|)|0 zY){=rr~2%v+Z+g(iC^>OP-MbP{D$w;r*7ZRHx5tn^I*#g9g#s3@gM!>bz||LiTxHo z9kXhGJ}rblm6bszn!O#`Nbz`v|F~#mx5%xq%5l!(qU=OwW69PD7ioR%8Cac9IlIt} zY0H@`>z;)Ags7yVr19GrvcjO#C!a_=Pg-4;?R$h^pj0d(d$4;=)7Cx0_-!6nrQO-R z#)wJH)YDRp^VBoIsb>s9BA)NB`-2O2MUPd<h?O;Ld_KIVVI5SF_q4r@orbrl{X)@y zM2qkFFEKq9%73)X*ytWxUJXL!;6)k++h#Ou8KZN{zyVzu$95jjDX@9qd<KAPS>0lm z?sjP4AJwsg$P9Mhst>P9d*#5Y4Z^Ecuu);35@p9k>rdOCdLIAflu~m58Q%I~oLDg$ z4s#>dxy$3Y&Rw3ub?)-DT-PawBYXnLs}7r!^I@+yFTdm5y?;B9sBE7Zd$Y{r)os^& z7X>8Snyyn@E<TJCJlZH`@$+_@<v5j=!Sy<_t>M<SN3et_s#jJ9sA@T_vV5bkt(EfT zDayHA>R33$U9Z~>aL~(&5@gQfoL}UdY)iR9nSS}^VVp;*P;i&ZG&0G#7j)cRDvc`b zRbp+pRRhck`@_IqdIN;Ekaxh8X6X%ZD0^t$aI>SitTlUu`R|$0))E*@UP=7GedY}F zkatg!Gxy;?E|}qr)i$p~C)}u^JI&;L=7ZKJKO{8mrhjwj&R<znH|1VVW9Wkng*0>A zoNQreE@rZSFWCy`t2SYk=T&kCteStkOMa23)JmUgoli}z#R+Uu{pzUnMX<@F?ZKRX zw<_ROv!TQyxYx)$n|8da)SLP>Y!<erpidZTNAi*FQC4B?Ihl}JL+x0(Cymz6FWm8q z&pxGI+DluZLBsCrkG3w`k=kIr{;0N8SXV=BzPdGK$4W-O_1c~^LjP4+Lm>O`bm_ki z<A9M2qh#yAeFXTzTL4z?M4pjMaId-C9Wz<Q<aI+%B1sCyN!^=wNGdbGZ^^5*IH<Qj zer>IX=?KioA<&lgrMLt)en-+CVYiZ@gu6}D!#K@hIkl%z*ci`Av!Y!j(OJfk*T~R~ zYL>ju+1s;r789jKdup=MXf|3m!n|&LF<IcQ$vPnxrOV!|UmCTnXxVr(5%D}2(F>-A zD>*SaKadFreMe%E5YsS`d6a3qS_*U2T=vz&xb<b}D}$RuZ?i2^Zp1Xss-pr*vQOM} z0SVtD2w9x3+G!?*=>i17o$F;SCI@ikhz*H?oat3;wV6MlG>17#XKti0n;{!$fY~2L z>rF)~WUK3wqEd@eWlQydN(7w`85xA4LFY3>Akm;lMO<xRloA<ZkuJ5JN(74~8R-^> z(pml}dJX!jAQ<!yqRAu%TFqp0UW*&3CzOunXKe(e=E#AeRxrA7Zq<<J^AgR6a~J8M ze#Bp$1fL%WRl`<LxlIZCLzRmlR>e@hj%M$VofIby42n1{&`LR;%8eVfrNNv+2CNz1 z)*p>_qr_4r_5Cq)ObLB@e>^kx@<|lo2EV5tlAc}s%goq{WBAW~3?}?-DW$qMm=gLc z#=(lY9eQI*V@w^ztG-z)+lf_aDhju%DSU4X<<#EWI0cH?#{b+P8qGYK{2`B~ALE0) z#Fz?R_u3;0R4e0UUbo~No#>5XuJO9%-gH)fG`W?x-MK>-sclU)bX0#r`7kaq;61g@ z1f&nux;O4obj-uJUFwHw+uC~+zGR{BHypkDYYUBk<YcNJEi(KAhpu9coblN&-^Od0 zHT-@ime;VYKKt2gJ{s<_&wj3z?*u7ibA1IF>MI0#x&0PKC7{XMc-+=@F<7B`L&58A zaG=Evrf{2y3$iuAO<UV<J5S>#P7XzpwwX&<S@i#Cgxv<%K%rl^Jj515M}Exkf`*%q zn$4ydoAnX(myJ8Wd9S~2$+t8U(|R(EA3Z3I_aBtDIdo83*o+|2xQ!PLAnu7E?#ah^ zQD4D>m1wxkUoMP-6$xS%egn%xG`521mrz-L<XsW$Kdqn~wBdU7<-+#Yan4;+YoU2D z&S5hy7vgverHTjn&M|?2XLB+<3k1B7L#l-qgnxj_A2_<tHx^p;E!17M$W&K2gs)hT zhPuY@ry_hbbcoM>8m2)8(;$OsKrjsmra|7y@0VZp(J&Q0`<Y~z9+)on7_Z?f`2E~v zm>w#KF@m%m!qyuU$lAoK+QMKS+8zd;fm>PYZV-M@Vp4fhaB5a6ttT2zL!j3kkcltI z#1~}Z3o-$DY~vBgL^Mh=DFUBC1^-n+xl1k}4I-B%_dps%E{`RG7sBus!q^wU@D{|t z;+hTPdkMxDYk|#MuO?$mUwgSw#kDQpPqo5WufbShOfndg490|DOz0SIHnbNqDMHq_ zZYqw;s4Z00fb9O<H-L8vfdfIwlcmvB_w^n2c!;XDnhxlb!Y_f0Ujq5Z0*1LD|G9vn zt;Ty1#^?G5nVysZbg|i7njR~?MPqIgn^dx;h-F%mJDi-^^lmqX`fX59c-k}CaN(3( zcG4J{+fZ+fQRg^MWd+_oh&r-;Pt*~xTh_;`;sYsN`ye{s*r05m`>s(K&`!a@+kEkR zuwyWu?PIb+J2*Cd(_?=dqz!kSX6#VQ+#EHWY$_(i&%tX~hg!bKnVTckGK^GXhMLW* zkbNgF+5>r1nahinN*-M}$fGkuc=6l`9-SM@qlzkCtcd1=xgu_6;pIY9SqpUWe3Vxd z(!F*kh$0Ic*>3`qRK8x3sIc8QN0TLvF0=!qbnMfAn8|s@hWsw|`=OVEKfDC`1fR-I z3RNm;u`(CPhtTNEK}tL~mPY4JP^coB7AvZ#BG9zHDvX7G<AJW0lKOoF-8N9rCGfaO zJ=twK@M))Hep!CHWIvj$D*U(p156f>lf|fz<YiEFN+YD%g^B}I^8u9%P|<)&2B>I2 zB?DA6pppS9@CHSLH>e6cKwYSSu9ohB3V7V4pG3u`1EY2tAMXE*1jSCdrjF`@a?J(h z0YI50+IPy4JrGRdTriQ9a+nx7OpF{R2F&HLa+nw}nWN>8q0|Chy!=ThH-Sg0ya$wa zV3aQJ2IZ~`%H1v~-?^at0#J+q1uTX@2B3fip=1CG15g-%!T=NopfCW1=>`Sp;+Y;$ zfJZ9R6ACa&XSzYT?SgW<3(7?ol<NRx96(_K3Rn%`hOAVw0EGo8U`?C=Yho-5P{0t6 zX1hTFx_Gt+6yTA{_JjhA(%EiM>RnLkyP%wPLHP$j839l@fCAP)E?5Uj4xn%Vg###H zDU9U+3Rnx#ux~ooN-faEb3LE{k5sNF6kwFjb%XM)3(B`$P)@j@R0EVyfC65UKm|Yn zD+*kt7Y-@_iUOc00Ez;jC;*D08x)|6SM-2F9Ak=}P=Haoq8pS8E+`kepd4~RsQ@T_ z0E!ZzC;^HRpeO-~5}+sniV~nG0g4i!D7!%cx_D&|D8M6C*%JydN>_G+a@GaqY!{UM zE-0S@6gZJ~x&ah7fZ_&F+yIIjKyd>oZUDs%ptu1Pw{B2?F5ayN6yTBS))NXaN_Xo9 z<x>}wPrIP(a6$PPpfCW%9iX@a6nB8)4p7_yiaS7Y2Pp0U#T}rycY^|S@$NmK0FPAn zo=|{Mx_dV$hh0z(cR|T_LHWSJ?|T!VcmNa+fZ_pAJOGLZK=A-59stDypm+cjk8V(a zF5aUD6yTBS(Gv<VO84jnrPu|fxC=^_3(8J_vK*jz0u)bx;t5bZ0g5L;@dPNI0L2ra zcmfp9Zcu<O-m?c3;F0Rt6ACa&_v{8`j|<8kfU<_D{2^;yPznG_l4uV^$i7pCDwW`} z&y~T!kI<QeGV$D4gwCCip^9iER#eFzLx~5vT5$Z6*I?J{2zcC-^?;HNjM`=0puFRP z@=h0&S6om;fD#W-yZ{OUC|&>s0TeHQf&hvaKtTWnq77AG<8+=Y@jzFLdO!glH&IV0 zz^EN{gR;Q|WkVN~MQV@^gofS#C@}y9LK-{00E#z2@d7B`0L2TScmos&eMEZ$6t8Yj zfUef72Nd9O)2k;GVASpfP_)zRZ(Cn?Dlu<&p_uDJ@hYI02+IUG<U&sey;0=}?;<!x ztGprf0xy(W@9*=$ytCi*o>q|MFIKeU^Mlo<ob*mk$ulHQ*I+z#&pU#uL%s&<wb(ot z926@wQoo^b0>hkL-aNgM)aB}-PP@-fs=FQ|a7_8~=EAe2Zi}<7ZirM@JY7&Sr<ONg zEGM?Gwy$VE$eTq7DMgDM59`{gPl<NWr7FgP{)8%{d1tH)v?ph*3=}43tjwOyclnE) zUh(lc0>$tFi$1l2vf9s-(a!JBNaZz|fj;{)l|GuR6a4<HDqbVj^83Y`y!@JGOftQ^ z*}IfL-06gvFhhdK8UzpK=<?=gOJOQO$5R3pz*7l&ojn>Xl&^>o0nhjO^&rGl{(ON< zEmouh&S3xef^zj&g{ti)Gb+xRXPIB{wHbmCb$gp6){CDLyqQBFnZG(&+d*}#l!i*? zCmMzr1#j7Settnc9Dk|&SNULkSEfT3UB<Wn`~t#R;ya+;#do}bm=YMypFyhCrmM?Q zbKyZe_1Q%xE&pubRfm=z+Uei|mygr=6<G1Uel!HDAcEA7P*kfsDTsrm(@i)u*AYbZ z-7N<{iJOudXuwP}2dzAS;}ZJj?rpwQpBz7mIGJX=BzbRTsl>MF>;(_gLJ0MF9Hm|8 z?mR)5cnDnS@t?JCn!wr7LIr5X9ep5<&VH!TwmcF?%O5>En&Cel)!O^oBX3HJG~tbp zP(=2l;MK%yK@53{*90GZB!*3Tlo_TO1Z~2y;n%Za&?>a6RVcIyIr}Ivi4GxX{%ucv z{+q7w;Sr1RkrCGh1Vz4B%E_p-Vor<faw?5ywIq;&SGRdPf-<7<u!!EcdZb@SP=cY0 zuI4e_r`Zs4nM4Fr?t6MO)<*af>H$Fs6S}A^kEtcD`(Ehe+Ak<$To;}7F&*Jr_Z;4* z8{ID`aj>t}QyX71Oex?ZAqSN&WiX2HOeuEKcGKSD;o5=`Z!h%j|@#gTpm=9O? zfv8Cr&F1bjb<Y3|@W>e4Rll!$Jr#z32!9p@)oCyv5r~3<f&n|+Qv>jV2sH{y=!f5k zfc8}HuJ(t!x6cT`l@Y;YC4k#Ya(c0_Cbk$Ml9aorUUQVCG@r24aq~#?@$8X#Fenv7 zwb{{}f=UbHf=XF8%F~c({Otg%MYT%Gwx)^_wpUQ%<sno#Gkho5+}bpr3(C}!!=}!A zPm-Te*wiGCFbdn7sJ|NbG-^Hxr;Db8b8L#ayL)Uj=SJllNVBvdoK~z+Qo6e}l;D4b zLRW@RQS1?G8n4ujht09ijWBK4(RAPJVmGY}j~ZprrL5l}%=}U`SXpGSfG_O;i}a;n z&D+@`R<h@7*vo~95E5=;=jRh^z72moYTfg>tA-d$vc=I#N>E%=oPHcn`A=dEIA!#r zXPzRC0rW50#*cvo11}Q@fm>{K<L1-E^i(ls;$-^-Lito+g<0-s-n)tXUf=F|?LH#4 z(v~M%Y%GL9r!*7OT{7Y`D0MDyQ67ZN4MWM`{KZNT#W@K3*+CR%KosYQC~VhRIto<( z8i@2Jf_Biv>IANV$_hXb_d7E_7e@0m^6QVcz3|U|PW<}s1DZ8s<VZ8l7xiuNXykAB z-gY#9jB!Dvdajd#`3_<WxCmxH6lOmeMlpXSiE&XpU+3ExaHH>SjTYL6`$EZn1b#C) zt<T+<+eAi9T)V?_igGgbG&nf-?s7iECn6_}0-ISgx~;nE%dQB@e>8Kt3F}QtJ&9&P zIJ=|N>oly?R<BZyYCB{d%~7<_-sB~n%miSU|8{Z+I+Fc_2NyC<z=I1OqD~JkOFX#x zCp@@*^Ydp`fd7p}Ml&l;{*VR#8;eYa3a|ld3q`|awj9`8gUAxFAr3fKWT{6~iG-rT zCbEFNbO7w7Qn01$iq0TUje-Pu5=q!h(G@;bJQ>%b^*hfDhY0?LIwC()QIg~tGaLKX z)B3Cojh3az6-@+hbqsi`r$ej`G8DuZJqkuT;S3GgBQY@A<;%gJfhH!CTm|Boh0)q> z^rwUS+m`gFqf|OUMdJW7JX=Bu`3kq;<|F1&IiKc?w}|!~uoyS6=;BALXu9wT*v98T z2DYXY3Rs`{mUSkic!~BKEb;Wp`itl8vAWlOpo4+w8M+)izbRCG0Fe_q699&rLMdJx ztV9>bD8&ntl@iEuZ*<`$rOmONN(7!ul)w`}is#-?5}v`}H~zs1(sYI<tN`OC1=aZm zEw^Ot=zKF1KiN*B;IR8zlZiTBp>kt~Z|@s*2>f2Zg$4aW>-#ojW&9SVb^XdU_H7{Y z19>{H+g#T@iSHYPmb?6EgOFLnm$Fpb=i5iKl!+D|Rd!ospJpSH8e#y!!!i@~5fCZ> z!Aqff16gDw)c_em?9Na<5&L7MEYU9>78!y?22S3tMF#FnXXFw&*BCf6JENDd#!Mu9 z`J|UO5n>K-hAQ9;P@u`M$n>QOI71cW42^=PWRZOfiwsUt=OWAUL&i2mReq<Jn6#($ zfoH~>Wv)e5l$0Jz4lMAfyQD;<LnNy)X*r7gASG~R(Y@jpivFVc!tJkbTxraCP?C2j zdt~nM+~@Kf)aH@z8{urYrwNBLMt)DIxAsz}z<I}69^}bC-MS}|4*3)&1&s$MolZ%M zW56voN=Y%3ZR(GJD!cuCP^IMe=9)F*&bDi`N%!HD`P~Gpe%Fj^x$iht_>c2(f_JOi z^%aKI#jDx$>#2sN#Y>fdTZ~XrplqL7_&cpXUyAf37E%aftSxgiJF;(<lDg%vdumHb zhqTe`>d0|w`js`#XJ#V_*LY4QFmk(Kz(7n|`TfTbmVa}y3~*CujM9l+YDOAu>1yN) z*a7kwXy=6eZ1us?OrlJmdf^Btb@w#d`xGd3?V7{wRKK$HSkJO)D~swwA7!{rxgT?P z)~|E#%=>A<^~Cz?4}WUE(`w4OE*kw|L9q;)9Lga5C`gntfQRfzHe|gR<}xtj_9Vu6 zwt;%QnjyzZmY+1+QR<nl?3iqYW?bX1kc+0!j5+(OSn+{E6MpnpRB=?H(SGnNI(HW8 z<-dsME<wHTFX&7o)F(Bg3oRxfIQxruK@J3$9O$Ai5Hvc(i-Ulm#UYl5L;ajP;+aWM zzxp<+ngjKNeio~epg#O(^u=nZpY*f%MI$4g&t}9gw=!bY2aI^}DERBng0t@uqZv2n z7AU%R(U&buk-P2IXS8Na(k=9*FN?nL<xJ?joJD_^bEs+%E0z!9#4onO$rKKUQaC66 zJ)0HJd;qV_N#L-X#09$tyNMT$f(0^%(=GcG9i`MQ&7;e~<9e3WElY(!mF}k~I?<~L zTsd>#rF)4jSK5BsMVBMpvgLGEfNp6Fq;jG2Nv!zyM%H#Kovt@|+kTo&*L&%1EunQw z^{{HQZxyN0-;+4;%xV@@wE&rkmZ@w%Euduqx}S_R%<V1l{A$j&ER8Pm3--4yeF-x4 zY`50Xx@C)LyiI{@OXKLMe&v11vw9WYW<iO8QGIpGUZrh6{gD={wsKDDTLNucYKn($ zr_%NP(1mOcUHpL4{WOi%gs*M`A+>?%+CaSRqWvgWq(r0Szv=E&(P(t`Z(>CDuTkE* z<ritydlmxeSCwB5rP{&J@%g%B*ls&4G`XTN*)ZE@IW$`C5YJuW#PQh<@rCR=vH)?U z{0{cBm?%`)$my2f0be{c>yKn80v3uc`)6I#Wm>eiaNxYB(OCJ<c$+s}6o7Qu&9(W& zcdxQ$(P+H9Ssa^vyEZ@APh~~2D1Y>v{I+fhLr*KzE%v9eU#?6A@3DF?5Xr)wR;UUn zKzN%H)#j`G^FYT~(sGaBeBU@K_p5xN<G@hR0l3yNL<cC5bbz}}y^-A?a#n_bs>H&v zJQj{)WQayi8`%(#AUX>#?o{Xd9}+=~kf`@$B1j=b5dHCc>L?SktHFuLfrBv&9F3#F z`Dj#jzPsa;&a)l1TZ+<lLjgG@=-gVRa}?GbneDor!fFnI`Wiqsqu`<Nz+85#ij%iu zHoFD#AMeU`zyapgIuz1D!EBa8SY!~G(cxh4P687ebPQAF96kz8Z+LOqllXduyh314 z^D>C<bxT|++`_49|9#X{^@9beW}6}4#6ZBw3;`zw0#0TKI59{SXGWTg7VrTK^3i0j z=J#jL;Wb$;KKrv8eKg`FpZ(&Xvp$*)AISG_NRn%EeVP5aaz>MPRK7p&tX#A4l6?Qh zM!9|;4vHP0v_4Mt4Iuay!dl-#Z0&N7&>{5F9=AUu349H{;A@bBui*pmH5>(B!&&e( zT;eqwTA-Uo=%!J=ABrXqu23}41?dJ3$`-sJwx4Me&~5T%H2HF7fBpw@O##3uI4jo_ z0-VA|`SAq*q+eIhN<Wg`>&;)6&RTY4S+7^_ycM(l(0W?G65b3YW;mQ-0_3e^0!SuB z*+!TIsuk3i|6&rJm;=-Q|4Dda4o3gmNf=RzVOb5&Q7Om*14+TyPLo`j=8v1s$2IhB zy@WrB9n}vub*nfkyOlU!%xHdrGvDx3$MuybM_P1vw_y<CwVt@#5bRO-$rQ7AX%g+I zyLbXO8$x?6KPJWvp~X4Tbd34kO^&+h$MIm}P>+xQ+DYd)f)^Nv22DRC*2rmeWe~j~ zAycno@5(eKatd;GOn|0t`XT(0G4#0%MacP+RVsHgRgyi=JTmW4uA}bbkHnfuG#zc8 zvZd*S^SAJFyA0JN(PGUY==3u-jAn*lezN}<*{<CjLzQf7xOV>mWRBEb{E+08EHIOV zoyVCa#Q4a4@%vIj@$vrL7k??kZ%*znE8L5BO&&6qk6cOmi!qzSG`m_TAbFS86Dvou zaP`o5+up0CYe35(zNw45V`I;kK7an$dHnX|-m;IaI3Rie;;E(hx#&SM?`=3Cx<B&9 zdYl>k;n15C)$zovOYNopBV0XRF<4&)O?2Zjy&A46_hpl;^WZ*j=|ntZieJCFvfJiC zaEfKLDBxhY59{(iB=od{`++~a7-vlhn^0%E0qehA1qm4OKZ4>=XKIq})zr*?knx$W zOZQ<^bj<>Ce~sL4*?9V!M7Z1Ah<}<g#y4clK)vH|S*3L?7+;?sI0Zh&C_L&#J>s}= z`0W=@4=mt@LyTS<n9^P-WO5@jjVcbZfA!W-iu!zeQ&#bHoG^9f3)L({{w#9LZRS;L zIT>yLOA5AF`83GyhI@se;s&d@pkN5vYtuG|X@3jVYK8Z%ho*%EX@y-)q3}5XuL{g@ zrq7V{_$?cS96WN`IR8w8SzlYI+kP2TKS&c#ze|}}As@dzZLY3)pg<{opY9_8F6PCF zznqByyNM1tX>>a0t{w22Rz**FIzHBzb$`@)H7wiJLhHMyFOlWtN;r`<Z04%{Y%U4N z8q{1la{>|?BLDK)$w>pt*2i8gof-R8DQ)mOxh8gvD>>Q<nlQF->v7WbV43|*ykYtT z(~cUM5T%f%Q8Rc_u9cAvR69y#f)RW<-JVj~^fy$BdnQ{ON2_)mr)-eMk~SD<-%uz7 zUxf@34%#HYjz9Sd!+ck^^LiRTmr9#K$<t;;0<Rz~V_zTFTMda0ZIH@f><>9h@$IER z!~>Bp5Rq#DAzaf%w!W11VQ&-1C&ia!tHHd2eB!0xOWiB!^#@XY1)>34smp~@EtA@} z!BM>subk0uVZ~zjwcBL@BzIC`ds|1Vi~7SPLfzr?6BH#81LSdk5<hdIqk4c<lAUpp z^i01fTX0nG#XrwTHW3d?XPS9u>VB6SzyS8yqzDLahz30<0pLXjCjfYn<)SeeeYFW3 z0ERWF0=&q!q#CMRT~UaAbI|vjww;B~Ho%!J2P=ILsMO(%)35>yuO8mfnPI}+R>+}l zMnYSusoN|a%1uj{q?I6s%y3kfnbk`{U~WreM99)oFC!<xGcioGE^sU@j&i4TDeV*) znC3{+)NS=vpoMJ6sj%CtJ47<~<d-Q^9PLiE){s0eY;5mncL^?J3K6R&Lf1AK<dgYy zUkR-BoJl?e;CsprC(W8>;*l{B3`Zpc>J%eJk7bDVQx4;<SGuG>#&)xvf)teM<v*K^ znM0gFbZw(DCrLw?5+N+qD*Kq_;HoQ8h^20nt;R~3H&&hbPxhhm@mD`1W~)tNMHr+g zjE2+&qudDuvH{}cwfUgW*;62^{}alY*ema;&uxLsY4f0lZ9DHupszjSsGi>NuNnJN zEi=?nUHGHfD9N;K@Gqq<KLh^L>{!$EtWHlu{K}%{;@e-`xX}1@-Mo8=&5Lj6w9I|5 zpd}+fv{&*tzJfZQjqm1q7jJ)89GW|P)5yH%Hj1CI)b2m(=`CNHjah0q0Ge+Wj^<|Y z!iFX<Vm5x46Pi<RUJPgdW~L-B^=I6kPFd%|TF5EJdCKEEk@f(5w-MJ)J={3TDzkjP zae<{<lb~tW5P4C=M^mcwT<_4G8tqLyAlBqN*L*$6kXoF|F0FqvYF*Jf*<1Cm;G?lo zrmu767ko!PJ2-5*S(3M?j5NnzwsqKkzeP1<a?L*<BTsC%;4Y85^UF!;u8C?8xjXI7 zI{fAD5_KMTd(FvyD~oOvH^w}eb#HD<&h0PiGWe3b;dw{0kLQBNCEPPw)i#<MZx(uo zA*}YJRHinIx7A2a!j!i@weAsOEX6sqa<0IseLcaDRGh@7)~83kS@dQIoCV0}52;@) zq``$k8r&!n_%awEpagk`prUmqOD8$gy@)Qpx?Au|<-Y;c{p(cjmqRUI=S1Z=zi~Re z@H<m#nOJd_C-2>uoOd&$V2?R&ilgMepSX_KMo<lfVXdgr7nE{2DCnS^SBCS!U`<W} z*2Ez@hX;EaQbv;a+JY=K0?qt#VX#x(kMbvLFj1{rVyDs}Mh3cNCGe<lDfqyF#K@vd zaIVbZ=R@MW2ns$V&Z|)c;C2PcK-j;7uI5j4H5cNGKOd94E?+bge+%)ud{?*NLE^o| z;D>SgUh>k0YQw=r05Squ89-JB2+A2rQ0{yo(nEq33uhiU+aYpRV1f<}Bq}HBtN37W zM!^STg<u&XkjTBcAd&g`AdzoDBJJnzyqltgSA83Ivk<eRA>UWXtKst(t8zwBLY_S+ za4}}!mslG7E-U2J1oh*D%%)%_#gh}vO~HQTn%@+3A|)T%3z_y{B@3-geSK0$wUQGu znmm*#LZ0)trKzuIgs`F!!ixGKFp9A-3Niv`Y}QD^iiyq<IAgQ=bQnoz?2l-+vtSj? zFK~Xsba>(4{<_b}%K&ji;3ewE0v{p|5I=((Umk#8j`w=z@ZQoV-AL@R`gKun6}?5= zNjPo|?6-q8TVBK-lne*I6g;eOlg%<|0vL1mh-^N!YBCN`X8DQx4SRP!z;Q29U=-iO zu(*W*9tynTr5&d8CkMid_?Aqqrl|4OCfR|GZKV=l*k+CIznD3do_g&hxiV8LPIgim z`#oQ_#aZ{uNpfYTeswZex<8gn&>(th)iKq}A(U#}I%=SMe|L$~`X`<NZW92fr!G3# zla!e{^O&?}zo?6OkaL^t+j-3yyyV7vnx*vLtR&c5ytI^_JwP^B)lWk=;>Gg@nsRD9 zoC`=MWZ467&g(LvuqHsot(8Fl%AZM5aiif$Q^431%#EgOYk#NUu0O05OH;sz6rrH0 zFZ|AI3K~Lw`@-+NP5vssK9p*W+57z|R*-awwJ9qFTp}Ob&;K{8Ku(qcu6uddtP3Pz z{qVvKPo6rmb>!UHGUefOS-tUhZZa$f)tvLa|M@PR+pb7B6eu0D3v$TG;o&&dahHtE zEdR^>2E6MLe*2|7Q$*?eQ=TvD1QK?Z4k1vsO!-5pD)t$wU+zH0i|MR2*1tc6)Q&C9 zoiYTL#yVJXwYUDSwt>mH52Ue8|5bks$2~*6yYYRlfcpZ@+AYvs%l)2D35b^asX$8r zRDFZheIP~G;{CYA$z$E0N%RL#!YdNK7J+nmNS=g1`0gfZ=fxv`m?bk=<DAF)vON=p zx8dUw@===ei7|DLAoEMl9KQ{G%dYQ@Bqpx<B|Te&E$(cQ*}a7`QV%wd+0`y-htTg! zHS_^_vq=H!iNsih?;RgCIXjmsEQ@g6{E*nc9aumbX^y(CAC)eko#CY?fV{jxP%P^D zRLa#|;RC6=lzDq5(jmfIt(0`%6o=<62=0CHo^*R)uCsbwXLZ;dynR9c(CMvGb=YiY z_1adMi+tuD!F<NWX*&LH!H5Ybi>DF=Ky&P_bUk={Dyi3;Xqxh`SW~9$m?)_W>@<ms zeJY;1aG|?l&qTFTBu#pJeBr>rNzM<zTw;GbDV8YQyfBcC#BK>|)Sn#~lc{I)&feay z8RNWu+%yVrPgp~bz#faj=;1hg(XdbwjUEm`zLIRvS_EM#!<Lvad-kE)0CT|R{DoMu z`{v-RMX!4u2u2@qE=h$2V>WTHtfD{GChm#6=G(A<z1v#4KK5s#ZoyiT`h_qK8SS4+ zdpWPR1HJOAKs5u2z^9|V%m!;LEH5+TgFS@jInX2^y08V$5cW&In+k0A1p{l6B9>_K zc3zyE1A)O}9>pAor20xe7~E?CG<;}2`3g_Ws6;O``MUFa2AN7U-i7q~GvLJ}0jDT< zu?Nug5X}Ok>q;r*nfER}zQMe4;Po_30&iZd+A!*{;Kuj}b3bBLIqWGxQQ;-bD|S=m z_?u1%RD}o52|XqFUS?Hk6X7FY1m7kE9VXEz64oQej*EpS<0-^`By+NGuW%FQ7t4Xg zDFIa|oE%h_Wt}Z+OEDWcQeZB7VRlA>pt$UYIW63`dJMH3%2AIZLSi-62osT!Im7@l zhmJpy?xgSz&M_Qr=zICWZ()&#B^Xj@(fORe{6Lk4=!RbC(fZgEWvVm{)!>01X&~9e zU_NbkY+iT;^pi&lCw!?L`C_EO4FNyu34W^KX(H9&h3<n6_(TO^W;QhRxzcj*cL29} z;Z-L~ynb096M!1o9h75p8PQH3{iTdqf)!&93+{d#EEMN<93{eMS=ArORjh)@iB++K zPYEns6_XExn}a(9QA|l1i+fokh%k~>y+Ig1?j*W=dMt@3s}vwfH-=FuK$4z}iBYlI zkqy2T55SW#l8{Ne4ensl;KMeaJKX(g*b{fgC-1toNBZrc!NM9eNNZ4>3~SICq$!60 z^A*0T09K&>I&Xl0Cq(!~!(HC#Jon!q(=G9*RS^0inq@tF-J!a292Oy?Z|GJ0t7>}= z-4Mez_cnhDa(v-@Cp25=E6Zi5?#D~E9j}$jRCRmvH2V%x(WRJamchQP+q)enu1rUD zd-vcURz8dB7QT!5Rbi;k`vHD#l>^n4S@5v5o2c&DA8Y}u574Nt@C+_r6CS|4IvkvK z7t40Tcl9a`_BuF;RBZ7w?DcwY|Kz1m^|vRhLR0bh*Kf=8FXLfrx1hS|<@nUv3DD2y zSpJ3))m_|$W8QcM)j6#Atv8zBy2rLSy@E#7Ki<Z}*A0XQW;|<MVFcuDkq^>#=LJ$i zbvR-^g7<dykB@Z9kO>dNKg%98A@ICP=|>5F52wE{&&?s3UIW^(|638j={p?r)(BL+ z@H?FK*33oK3%_<D{5=%x0pcv3-uj2Cl5ApV@2y5d&i>xV&5z2A4&5m<4We`ReV%O| zB0LI1HfCoeh^~6TSA94?N;ACizRl7|3Cr7M4Fil1L(Rl~aa6z1gu~ZQhu-WsXFc@3 zw-SH8erfOI+rx8@<U$9X;&~uR?)p!*sJDmFvZ}9bD@>Q=To^gYj2mrJvmw2|`dJ%3 zm(vebJHEs>a@L~i>1DP=%X<pjX3JpNxDg|t)9RknhP(cs4{ExwIw)vt&`9lwvCc=Y zYlp*<rzp4SE0SNE9TgoEk`^==N=VueH`}<)zB1GBS35ckPzFOGzdNtw_rJUEeBODT z3Us80=o!%qCry|$f&3<abE2o|7f#Yo?R*mb+Utv6Nlgk`{Yqlc;#bzBEeTqcymC$Q z^J%MtR;RB>4thD{l{NF-py855t5%03Jr^WhCHmCG%YzoLdF2&SPdb`2HEQAP_?U_K zgLj6_N!ZlULCR|zrE4Bsi=j+{XXHxiX2F$|PTJ1r<eHY4x^VTXMJpC2uUfTy6-ANX z_^;R(kHJfD5Dvim@L*dVuA^xNpWe36gN%;+?JK4-aHhrAG;4(PAFIsKO4mf!_1r7c z{jaX;Fc;koSA9#WR3Exjx>mZLUvS;`UnV`j?z;cLRiFLj6=z#~@Tu(qkw3lH(eW#k z`%q+iJ38e1Iy$bv?>Z>&!S6pq`2@=6P|iX5Clt5$J36Mqbv#_(vCc5<D(&c~KMp+L z>i<bc2f43<dj<Ty0l&YUFJby0x|*o}A;$k9-@ag=E%>iSh?nl@ZCYXP=vWFR3CaQ} zuRmpZ3Fv1*nF_@KB@)VWP{N@MhcXySFqFPf{Gsqr+@Q#z+^_5~b?ky4TcH#{*#Lz! zc$$(0^lw2Sz<Unn{{(K39cS&F7doZ^utJeR@r9y*LY{Rm9t~KwYy99<O&}^Lcc8rP Tx{_zz3#qeZS`^GX`xO5hi>c^0 delta 15148 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 Ef9Lx1>Hq)$ diff --git a/roms/opensbi b/roms/opensbi index ce228ee091..be92da280d 160000 --- a/roms/opensbi +++ b/roms/opensbi @@ -1 +1 @@ -Subproject commit ce228ee0919deb9957192d723eecc8aaae2697c6 +Subproject commit be92da280d87c38a2e0adc5d3f43bab7b5468f09 From 6911fde41006b2afe3510755c4cff259ca56c1d9 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.francis@wdc.com> Date: Wed, 6 Nov 2019 16:47:20 -0800 Subject: [PATCH 4/4] riscv/virt: Increase flash size Coreboot developers have requested that they have at least 32MB of flash to load binaries. We currently have 32MB of flash, but it is split in two to allow loading two flash binaries. Let's increase the flash size from 32MB to 64MB to ensure we have a single region that is 32MB. No QEMU release has include flash in the RISC-V virt machine, so this isn't a breaking change. Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com> --- hw/riscv/virt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index cc8f311e6b..23f340df19 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -62,7 +62,7 @@ static const struct MemmapEntry { [VIRT_PLIC] = { 0xc000000, 0x4000000 }, [VIRT_UART0] = { 0x10000000, 0x100 }, [VIRT_VIRTIO] = { 0x10001000, 0x1000 }, - [VIRT_FLASH] = { 0x20000000, 0x2000000 }, + [VIRT_FLASH] = { 0x20000000, 0x4000000 }, [VIRT_DRAM] = { 0x80000000, 0x0 }, [VIRT_PCIE_MMIO] = { 0x40000000, 0x40000000 }, [VIRT_PCIE_PIO] = { 0x03000000, 0x00010000 },