From e3941109af1d8203dddc2aa12e33170d6dca5c4b Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Thu, 18 Jun 2020 11:06:33 +1000 Subject: [PATCH] console: Cleanup console API Use a more generic console_init() instead of potato_uart_init(), and do the same for interrupt control. There should be no change in behaviour. Signed-off-by: Benjamin Herrenschmidt --- hello_world/hello_world.bin | Bin 4688 -> 4744 bytes hello_world/hello_world.c | 2 +- hello_world/hello_world.elf | Bin 79584 -> 80528 bytes hello_world/hello_world.hex | 105 +++++++++++++++-------------- include/console.h | 5 +- include/microwatt_soc.h | 2 + lib/console.c | 20 +++++- litedram/gen-src/sdram_init/main.c | 2 +- rust_lib_demo/hello_world.c | 2 +- tests/decrementer/decrementer.c | 2 +- tests/illegal/illegal.c | 2 +- tests/misc/misc.c | 2 +- tests/mmu/mmu.c | 2 +- tests/privileged/privileged.c | 2 +- tests/sc/sc.c | 2 +- tests/xics/xics.c | 12 ++-- 16 files changed, 93 insertions(+), 69 deletions(-) diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index ae4c4a8311b39e5cdef455ff1672da7b2cac9c4b..dda2b66b7468d5072bdb2f304390b821f4622ccb 100755 GIT binary patch delta 250 zcmcbh(xJLRLBL6Xf$_(~|B62}nHW467#I@%|4*{1C`z{IWrXm5GC*iMw&V~~sMwqT z|Gj}~L4dJ=VRDs#IWwDP<>UUw~nrg8_r01<()+ zfq(zKxftea^8m$of&50G^%cJ#*H;4R3zJ!etS8?Q;9!vfs+xR3Ktv$}$N*Xn2Og<8 PIr$3V`9(P?Tp&RJ+>T91 delta 210 zcmeBBy`Zu|K_KeK|A)W-|9@ofQ1stgfPwMH#s7*w0vQ-Q7#J85Dtu)t_>ZbIIB&pqedbAR{aT|Om`9=QACj@F8kqq>!;b$F5y+wl6$ zo{oe1h#FQ7zSpaDMz_i6RD4(ylRe())xr^$dV2T0RZ4|ebQQS`=PEQsMFw2&uGGRFrJhWDtLe$J$kSaNPbMz9Pn_#-SU3VEKNpOCR_FFAi9I zM14qV*P8!_G_0$3E91XvR6m!BGXK|hTCX+#Yu*2~r7w3hng46O0N_1uUwVJ(&37)k;YT8B;fPivyVZrg!xx?KBWQd7&87bLw>jpw zYnyAn^2Z9AtH_P)JV-L-3JY1=NN^FZVr#R*^K zRPIAP9}BDJMje%mqcM&?-iCkA?r7YMuWW=u#m>`JYGhYMf8?k1Z^W(Dwo{ju z9ve{$lb6COIc#Fx6n})+EFW*JpRo0FdnhwbW53dvX`V2TA7BnYSX%nC+i1@I26Lv> z<=;^1{%OqB{0BdH^epn%{qyD!rO2+Y9Nc$K zsn5kofBx`h!vo{ob*Z9Die-));NJ-B7xSGC$PcEo*?i=Id?A}^A=On{DZFDr3hNX2 zZu@-*Rv1C`m!m_UfW&bczX}bvp)r#yDJR^RN6pdUK$|G;S+Drq-rGTf2-(m_0S4 z%Vs^+?9O+R5~Y@T$mruVnsJlN3AHRhLLbL%2}433r%ByFnff9LbQ0g3KD*K@eH|9W z=$pv(!Y?)v!Y`w45#}+6)cguQoW6^KCGx)}+3-X3BJ8|64RRZFH%TikqqWjM1g)!}x@=*61&3JviD?&<+tC{nWu4 ze@&2w$E`Tk2#aP|DE(L##SK<|6UvnI`2$dIDWaJQ&qCCiP3M&UENS;aq}sywBf~

MXg{`Hlt~9y$4Qd{*f(y+?Jn`NR-8*u#i|zVu0oV&1ykPa-6Jek%yAhGWyL$GUzm zgw+)2SkF8QF6}{a_gA62=CaSA%k!%A4L$8xQU8Fz*6cyyN$ZesP|}?}hakR;_V!>~ z_c&TiS~CUL=dG#TBTCQq6d)d*WqO+oJ=z9_-hS&aKyMX!4Yv8{{Tlp_ThlVV>Gq(g`%4^0utncu;uu3eCXR>e z$8m<@2)0$?P@w}Di2fyItq04*Xp@?m3frdgR*##R`V%-dGxa?bdTFLQtm5b4LwmF2 zz=@e9(nbn}kn6G6?1=H;GD)AO4ep&DV{}{$!ET*7Jxo=PucXa^89#_{Sik-7D%CX;&3QswNpk2$@x3rZ2fz*v<_4EZ$iC` zcFjUCfFpl}F_@jxk3xH}-7?=m{+_Y65jfQM{t)ULAA)$}QGBUh+8)najkwV;Lpwz7 zX=tB8!3^z1s}va8mr0Sf23a6&dX0v*pN@1*o3_u4#?<@XC^xCd-_am%)3h@Capv4c zhuL+f6IrGA(8$%M7fE@$IpgRc^4fNIZ41=4l{TNIZRWLI@3s9lwXHL4G&ZkogK3K# zr?zfQ=TzUTrc8SMrrU1Me2~N)RMs@1o>~W~smQ;e&55}*A;!jukzU{1n#43>wK+^G zy(D%$c`wOL5YBoM!|y8nk@nTCZu|Q7V?C>MM-MEvsMgloA%dAL0&_!D-_h%~-`aXx z>qmPJtzM-&n?}}tX>YGyjmKpx+;lckF|h|ecMWqq(D||Rg|@RoRnJW(?eh#jD`rV^1T$9l*RM~!dfaJ$|| z49Xk)%GAq7@`wEp#pLi(h?xHSDvq!?EA3t@&IRU#1y~t97HLKG(CP>xQhXyFvwK{t zF-WV@w7pK8v^i9`$k);a^Jh*!|@tJzIH__J#ul-io&X>&Z_G+>qVCA zur19Li`T@W;Tj{B@O?1kxw~Q{jv8F#P}o*0`pr<4zG)v(Z`d5jxcJXjoSi(KJL zo>n<7G6SPm!X+%r5GT^t|={g3ar! zA6B_wRfu(XY26~%E2cFZ*_2i4jWejzTp2?U3E#2q{wYXUhwoGYBrIkZb&!l(@2PSx z!!_Vp=V7Z;)k}Dh#q6RERlY7o%DvPsfuN47!jYO#f=X4P)T+O34+_2*(bBdeWkacd z8nD)nmOp8NDs|%xDqSI7z5|`N-L~S`=vboEw{DSzd=08In|!}wKOxnI9r8*IMs8=9 zYkmE^w=MkUo-OZfTmPOK+OVwU*KCA%QMRnk3s$FU&}$c2%r3N|-;Z?@{glN`1d^r{9f>4qyK~9e#xnw0HpmN9`-?2XDH;J2@|!LF*{^n`+)Js{OY8C0mc% zI-ipiCnY|W@q9HY_y)m>%NdWK<19DW0?+GjSx!8^ykrnJedf6$r*R0fD1-74odYuh}E!N?QT6cU9Z|3wp^cBN9F0Bh_ zchp9F*K`5DiB!~HX_~!t4?TBCA6ay^cQ1bA`0@UJC(|2#%lpR}SzZ2@B;^VUpFs-0 zMcz#{G`cH^NLZ?LS(E6n`?0>>n|Um<-{YJpcOY=iwTe28UL?F0-FK|z#TrYu zBkHau+X8j^s@lz?;C1W1>)HP5zMV02<;0wj=bRU^i(f{ouN%3MJLLuKKBcjqEE8VU z?$a!sohv1$69t95sAALknRIOQ$ar-0p3#Sn9*OQddQWUJotutLCz2;;vx#InHj}|T zpGlNTG2hx&*?jIqWG+|CoXDk95qkApt{C@s9yu1-w`*5qXY^yy!N|a9@oce_p4np- zNToWL%gk45v-u)bXNu|MTp>L$n=Mf#KUEr-%H|VP$>j&|jxmF-O?hT6TguF4(_Za# zk&K~|fb?`aiApw8Dq&fsbE!-shdLQ2OHe@As3vFU_L${692tPiqs0i^r}iWf_rR3t z3ls)s3;9wyS;`k6oGPT##Zm(PD2Az2qLdgwxTOqsIW^DaOt~!cI1!!`X^*?z4HKDM zrlg9~`9i50<4hux3!EaJ7CEt}0Kpv{i)@eHJgAD9UrA4t)NH<#DCH;S5{1&lnL?(N zR*6)qpypt8%MNNU6H{~9tU?Yi)gI<2(lfKAv(-ZCJ3lp5Oji#$l{uX$<}q3t zy&0tG{1hL)6EL72CNS=az4?5$%B!!j;01E$zJ0ewu0J+8mn+SAD|q1MIa3?@)X;Er zaK|=JiZfHS;X}7Dts3S>+qB{rrF_iuedIuUWYy@WYW3-b9NiiCz~eV*Eay{g7&??# z&L-#_S{LAHF}#I62;=25&%Uex>A2NCc7mUgxGpS~X&ZDs#_ z{O~=6<$V0`eTC(G0ZE*4AV9x$l7k~a?p4IY3#XPI!c%5eN zC)M(%^1JbBdAR(?hiZ9qnP;`UrTizDYI$qwhzQ_QVezCzWzpSTLI-6DQXuk0%O z_pv~eTMs65+&@@e`+-P7pi-py@H2-%{rt%=q6LS(M;y^B^>jm!dZ6dJ!$!|>pSfIPa=MZP2k~PC@J$0<|lTQo_T6}Pf)+y z=T=3FXJ<+YT$}Nv_3~*h(eoSfso8>xmeTVjsGz&K*{JEz6ZzemM{=#$*IR8P55;TY zL0CPDs$46U<1m*3PtL4-y|c*Qb0JUH9}_wabtpQlqLam9)IR`k0#oV9xf7U&sl1AM z<;3JeY>3f zeF1xZZoX#i%lp_m2=<=~*q0wI^dGn&@wsFw_zK!T4w;`H-)jb~J)cL*+0%LFx99uM zytUuYhBgoO|9rrn?@2FN`}h^?|1e#A z`92Z9O8ZOJe!J~}?;Z2jo|iNCAGQT=bV~g<>Lm02kc~nFAEd{vJ?neY;9EI7OW=ro zv5w#V`GA9nvVEYc#+R{=Z1pthkKFzgv?u>03+~fP*L#{<$`k8(VSCO`qCn-K zeVe`Dm_IiA0$@ANOV-|}Vv57oevlQdLSQ+Vz5_!vn$rWGVc2dsx*zu8!}h$dnjs4e g(b&%pdG_BmwaQl@9CO^&vp=-m)BJS6AW&8R11Xv|H~;_u literal 79584 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 -void potato_uart_init(void); -void potato_uart_irq_en(void); -void potato_uart_irq_dis(void); +void console_init(void); +void console_set_irq_en(bool rx_irq, bool tx_irq); int getchar(void); int putchar(int c); int puts(const char *str); diff --git a/include/microwatt_soc.h b/include/microwatt_soc.h index 77d5a58..8b69889 100644 --- a/include/microwatt_soc.h +++ b/include/microwatt_soc.h @@ -69,6 +69,8 @@ #define POTATO_CONSOLE_STATUS_TX_FULL 0x08 #define POTATO_CONSOLE_CLOCK_DIV 0x18 #define POTATO_CONSOLE_IRQ_EN 0x20 +#define POTATO_CONSOLE_IRQ_RX 0x01 +#define POTATO_CONSOLE_IRQ_TX 0x02 /* * Register definitionss for our standard (16550 style) UART diff --git a/lib/console.c b/lib/console.c index bce220e..892c76f 100644 --- a/lib/console.c +++ b/lib/console.c @@ -80,9 +80,15 @@ void potato_uart_init(void) potato_uart_reg_write(POTATO_CONSOLE_CLOCK_DIV, potato_uart_divisor(proc_freq, UART_FREQ)); } -void potato_uart_irq_en(void) +void potato_uart_set_irq_en(bool rx_irq, bool tx_irq) { - potato_uart_reg_write(POTATO_CONSOLE_IRQ_EN, 0xff); + uint64_t en = 0; + + if (rx_irq) + en |= POTATO_CONSOLE_IRQ_RX; + if (tx_irq) + en |= POTATO_CONSOLE_IRQ_TX; + potato_uart_reg_write(POTATO_CONSOLE_IRQ_EN, en); } void potato_uart_irq_dis(void) @@ -131,3 +137,13 @@ size_t strlen(const char *s) return len; } #endif + +void console_init(void) +{ + potato_uart_init(); +} + +void console_set_irq_en(bool rx_irq, bool tx_irq) +{ + potato_uart_set_irq_en(rx_irq, tx_irq); +} diff --git a/litedram/gen-src/sdram_init/main.c b/litedram/gen-src/sdram_init/main.c index dd3b507..19cc2ad 100644 --- a/litedram/gen-src/sdram_init/main.c +++ b/litedram/gen-src/sdram_init/main.c @@ -241,7 +241,7 @@ uint64_t main(void) bool try_flash = false; /* Init the UART */ - potato_uart_init(); + console_init(); printf("\n\nWelcome to Microwatt !\n\n"); diff --git a/rust_lib_demo/hello_world.c b/rust_lib_demo/hello_world.c index c8797fd..6c44be9 100644 --- a/rust_lib_demo/hello_world.c +++ b/rust_lib_demo/hello_world.c @@ -25,7 +25,7 @@ void init_bss() int main(void) { init_bss(); - potato_uart_init(); + console_init(); puts(HELLO_WORLD); diff --git a/tests/decrementer/decrementer.c b/tests/decrementer/decrementer.c index e6cff2c..7b1c345 100644 --- a/tests/decrementer/decrementer.c +++ b/tests/decrementer/decrementer.c @@ -25,7 +25,7 @@ int main(void) { int fail = 0; - potato_uart_init(); + console_init(); print_test_number(1); if (dec_test_1() != 0) { diff --git a/tests/illegal/illegal.c b/tests/illegal/illegal.c index af0c04b..fbd9634 100644 --- a/tests/illegal/illegal.c +++ b/tests/illegal/illegal.c @@ -23,7 +23,7 @@ int main(void) { int fail = 0; - potato_uart_init(); + console_init(); print_test_number(1); if (ill_test_1() != 0) { diff --git a/tests/misc/misc.c b/tests/misc/misc.c index 0b9079c..f96203e 100644 --- a/tests/misc/misc.c +++ b/tests/misc/misc.c @@ -24,7 +24,7 @@ int main(void) { int fail = 0; - potato_uart_init(); + console_init(); print_test_number(1); if (test_addpcis_1() != 0) { diff --git a/tests/mmu/mmu.c b/tests/mmu/mmu.c index a5d086b..b91a852 100644 --- a/tests/mmu/mmu.c +++ b/tests/mmu/mmu.c @@ -661,7 +661,7 @@ void do_test(int num, int (*test)(void)) int main(void) { - potato_uart_init(); + console_init(); init_mmu(); do_test(1, mmu_test_1); diff --git a/tests/privileged/privileged.c b/tests/privileged/privileged.c index 98c037c..154e9b4 100644 --- a/tests/privileged/privileged.c +++ b/tests/privileged/privileged.c @@ -228,7 +228,7 @@ void do_test(int num, int (*fn)(unsigned long)) int main(void) { - potato_uart_init(); + console_init(); init_mmu(); map(0x2000, 0x2000, REF | CHG | PERM_RD | PERM_EX); /* map code page */ map(0x7000, 0x7000, REF | CHG | PERM_RD | PERM_WR); /* map stack page */ diff --git a/tests/sc/sc.c b/tests/sc/sc.c index a705d19..94e17fa 100644 --- a/tests/sc/sc.c +++ b/tests/sc/sc.c @@ -23,7 +23,7 @@ int main(void) { int fail = 0; - potato_uart_init(); + console_init(); print_test_number(1); if (sc_test_1() != 0) { diff --git a/tests/xics/xics.c b/tests/xics/xics.c index a867744..97b6539 100644 --- a/tests/xics/xics.c +++ b/tests/xics/xics.c @@ -83,7 +83,7 @@ void ipi_isr(void) { void uart_isr(void) { debug_puts(UART); - potato_uart_irq_dis(); // disable interrupt to ack it + console_set_irq_en(false, false); isrs_run |= ISR_UART; } @@ -202,7 +202,7 @@ int xics_test_1(void) icp_write8(XICS_XIRR, 0x00); // mask all interrupts // trigger two interrupts - potato_uart_irq_en(); // cause serial interrupt + console_set_irq_en(true,true);// cause serial interrupt ics_write_xive(0x6, 0); // set source to prio 6 icp_write8(XICS_MFRR, 0x04); // cause ipi interrupt at prio 5 @@ -222,7 +222,7 @@ int xics_test_1(void) // cleanup icp_write8(XICS_XIRR, 0x00); // mask all interrupts - potato_uart_irq_dis(); + console_set_irq_en(false, false); ics_write_xive(0, 0xff); isrs_run = 0; @@ -242,7 +242,7 @@ int xics_test_2(void) assert(isrs_run == 0); // trigger both - potato_uart_irq_en(); // cause 0x500 interrupt + console_set_irq_en(true, true); icp_write8(XICS_MFRR, 0x05); // cause 0x500 interrupt delay(); @@ -250,7 +250,7 @@ int xics_test_2(void) // cleanup icp_write8(XICS_XIRR, 0x00); // mask all interrupts - potato_uart_irq_dis(); + console_set_irq_en(false, false); isrs_run = 0; return 0; @@ -307,7 +307,7 @@ int main(void) int i = 0; int (*t)(void); - potato_uart_init(); + console_init(); ipi_running = false; /* run the tests */