From 33411e98223bff20ecb579e10c79c83ee579e151 Mon Sep 17 00:00:00 2001 From: Lephe Date: Wed, 17 Jun 2020 14:36:18 +0200 Subject: [PATCH] add TLB management and timer callback tests --- assets-cg/img/dual_wielding_roxas.png | Bin 0 -> 169457 bytes assets-fx/img/opt_gint_timer_callbacks.png | Bin 0 -> 2206 bytes assets-fx/img/opt_gint_tlb.png | Bin 0 -> 3020 bytes assets-fx/img/tlb_cells.png | Bin 0 -> 3496 bytes include/gintctl/gint.h | 6 + include/gintctl/util.h | 3 + src/gint/timer_callbacks.c | 98 +++++ src/gint/tlb.c | 401 +++++++++++++++++++++ src/gintctl.c | 2 + src/mem/mem.c | 4 +- src/util.c | 12 + 11 files changed, 524 insertions(+), 2 deletions(-) create mode 100644 assets-cg/img/dual_wielding_roxas.png create mode 100644 assets-fx/img/opt_gint_timer_callbacks.png create mode 100644 assets-fx/img/opt_gint_tlb.png create mode 100644 assets-fx/img/tlb_cells.png create mode 100644 src/gint/timer_callbacks.c create mode 100644 src/gint/tlb.c diff --git a/assets-cg/img/dual_wielding_roxas.png b/assets-cg/img/dual_wielding_roxas.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d982f963f38ea8028636480f72557b8d776c4c GIT binary patch literal 169457 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 literal 0 HcmV?d00001 diff --git a/assets-fx/img/opt_gint_timer_callbacks.png b/assets-fx/img/opt_gint_timer_callbacks.png new file mode 100644 index 0000000000000000000000000000000000000000..dce071c9538dde06896f857e6f47edb87355909b GIT binary patch literal 2206 zcmV;P2x0e$P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3yslH|Azg#YUlJ_5lP$m8$#`1$94 zhr4}Nw`vE5{#n##iswfd25wL)?`xe?`D=XF_ne#~t#qWOn@-xCN2X*c$)(DDWQmK( z<$C0hW6hS8YtAQ^_t_|#XFeqrDK$>rLBev#qC>UVH1k zYmb^+TC{4@uBt<)u2DuEZSYvX4fi?MJEx$~~IQ?dgr>YU?4I$w(EjWX*Tm{B87(mcDI7>rn&B0u7mS(0ZS|-UB z++0cPkq(8`BsZ6D?tU`&+q^ws{dc_O-(l_v>i!SR<;Th&c>4?1ZaCq28T(XWV44cm zXWK2;KIVGJe{fSA3#;?Cb=|J?QrtUnrgZQ1-rc2kIcuhhS&5~q#aGrL<;dp!=k}at zsndtPuclpn@3Ujz2Dk{)s;O%_xSSeP#qBkl?Sk4?x4Qh%Q%D}QjEN;f&c!dsEl8;8 zwCsCb-qu=T)Tq52yOV{FVpruF)2~iOh{MlGZl-5}gXaK7wcI>XIVb0_O&Zg&dYJCF z?IRJir!C}7IO}ykAgPMB?$k5;U1cIi#@%On*@_4; zeY0a#?>)q_yjPkLDH69g6cy%lt?AZ+{qk^&elL;kwdxb!JKNFOF1;P*B+?y?wmL_= z!B(NLhROvx)`qO&cEBj@V&>FfW5qU?BFS`GQZs1xGG|K7lFB?zHIw}bn=OG91SPb$ z5#Wb4sf+#6Z}ABiA{ReWajN2@bcVnTiOG0{p3)7tIt+nI&#awF zM>l8hi>tJA2I9V_s637zoPJH$4HuDEI4<1R{IDZpBlL&xXJbcly(6qQmp&o{D^+ah zLDFUL?zH?t29X4Do z8-5rY#y#0Z_#V{E8CLLg!-Yc`QN2iFRKApp_n17aV~bI$?Tgm{5(aUDO}rxj!GZCk zv4KZJ#trCrpLIpm%Eb~M^qkMeP}A#^$y=nb&|br6aIM^q(|xY7qH9GUZ`Ry49b@iI zVM((pn16tO%3jUcDMsx#)lFFty0gH_UYva~YLe5jr!Mq`6zkNpv}Wexjnm}rikf(c^jBodlk=qU!$ z5O#Q|5<0_;yo{kSDoAl=0-=`l*7V>>FWzOpelyw|>`JzM&iiDBRM=0!*d`)Pi(Lo* z`zcc&IvtgxZ}U2t=7Cd|zJorxH;ow`B~oz3knOY?W@&v>R;{DC#;(D}+)qVYg?$=c zt#zUAQE{M;H&W}doj?wB3nWqEWu*;LmmyHiow~GM5YIzpR)oI;sD-58c0opFjNoD3_l2{2S+S z6-l3j{|o>C010qNS#tmY3ljhU3ljkVnw%H_000McNliruoXLL0ADR_e9MK$f*5N2yQ#ISElzbb_t_D g1Xn70FZ^hE0O@pxO*m$N8vp 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 O0000 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 WqFm{!+l&(c0000 +#include +#include +#include + +#include +#include + +static int callback_simple(volatile void *arg) +{ + /* Perform a multiplication to check basic register saves */ + int base = *(volatile int *)arg; + return base * 387 + 1; +} + +static int callback_sleep(GUNUSED volatile void *arg) +{ + sleep(); + return 1; +} + +static int callback_timer(GUNUSED volatile void *arg) +{ + volatile int timeout = 0; + + timer_setup(1, timer_delay(1, 10000), timer_default, timer_timeout, + &timeout); + timer_start(1); + timer_wait(1); + return 1; +} + +/* gintctl_gint_timer_callbacks(): Stunts in the environment of callbacks */ +void gintctl_gint_timer_callbacks(void) +{ + int key = 0; + int base=0, done=0; + + while(key != KEY_EXIT) + { + dclear(C_WHITE); + + #ifdef FX9860G + row_title("Timer callbacks"); + + row_print(3, 1, "F1:Simple callback"); + row_print(4, 1, "F2:Wait with sleep()"); + row_print(5, 1, "F3:Start timer!"); + + extern bopti_image_t img_opt_gint_timer_callbacks; + dimage(0, 56, &img_opt_gint_timer_callbacks); + dprint(69, 56, C_BLACK, C_NONE, "Done:%d", done); + #endif + + #ifdef FXCG50 + row_title("Interrupt management in timer callbacks"); + + row_print(1, 1, + "SIMPLE runs a short callback that modifies CPU"); + row_print(2, 1, + "registers."); + row_print(4, 1, + "SLEEP transitions to standby mode, forcing an"); + row_print(5, 1, + "interrupt within the callback."); + row_print(7, 1, + "TIMER runs a callback that starts a timer (with its"); + row_print(8, 1, + "own callback) and waits for the interrupt."); + + row_print(10, 1, "Tests run: %d", done); + + fkey_action(1, "SIMPLE"); + fkey_action(2, "SLEEP"); + fkey_action(3, "TIMER"); + #endif + + dupdate(); + key = getkey().key; + + int (*callback)(volatile void *arg) = NULL; + volatile void *arg = NULL; + + if(key == KEY_F1) callback = callback_simple, arg = &base; + if(key == KEY_F2) callback = callback_sleep; + if(key == KEY_F3) callback = callback_timer; + + if(callback) + { + timer_setup(0, timer_delay(0, 10000), timer_default, + callback, arg); + timer_start(0); + timer_wait(0); + done++; + } + } +} + diff --git a/src/gint/tlb.c b/src/gint/tlb.c new file mode 100644 index 0000000..61ac757 --- /dev/null +++ b/src/gint/tlb.c @@ -0,0 +1,401 @@ +#include +#include +#include +#include + +#include +#include + +#define PAGE_USED 0x01 +#define PAGE_MAPPED 0x02 +#define C_ C_BLACK, C_NONE +#define TLB_VIEW_MAX (64 - TLB_VIEW) + +#ifdef FXCG50 +#define PAGE_COUNT 0x200 +#define SQUARE_WIDTH 8 +#define SQUARE_HEIGHT 8 +#define LINE_SIZE 32 +#define TLB_VIEW 12 + +static void draw_rom_cell(int x, int y, int status) +{ + uint16_t colors[4] = { + C_RGB(24,24,24), /* Unused and unmapped */ + C_WHITE, /* Used, but currently unmapped */ + C_RGB(31,24,0), /* Unused but still mapped?! */ + C_RGB(0,31,0), /* Used and currently mapped */ + }; + uint16_t border = + status == -1 ? C_RGB(0,0,31) : + status == -2 ? C_RGB(31,0,0) : + C_BLACK; + + if(status >= 0 && status < 4) + drect(x, y, x+SQUARE_WIDTH, y+SQUARE_HEIGHT, colors[status]); + + dline(x, y, x+SQUARE_WIDTH, y, border); + dline(x, y, x, y+SQUARE_HEIGHT, border); + dline(x+SQUARE_WIDTH, y, x+SQUARE_WIDTH, y+SQUARE_HEIGHT, border); + dline(x, y+SQUARE_HEIGHT, x+SQUARE_WIDTH, y+SQUARE_HEIGHT, border); +} +#endif + +#ifdef FX9860G +#define PAGE_COUNT 0x80 +#define SQUARE_WIDTH 4 +#define SQUARE_HEIGHT 4 +#define LINE_SIZE 16 +#define TLB_VIEW 8 + +static void draw_rom_cell(int x, int y, int status) +{ + extern bopti_image_t img_tlb_cells; + dsubimage(x, y, &img_tlb_cells, (status+2)*(SQUARE_WIDTH+2), 0, + SQUARE_WIDTH+1, SQUARE_HEIGHT+1, DIMAGE_NONE); +} +#endif + +static int rom_cell_x(int page_number) +{ + int x = (page_number % LINE_SIZE) * SQUARE_WIDTH; + x += 3 * ((page_number % LINE_SIZE) >> 3); + return x; +} +static int rom_cell_y(int page_number) +{ + return (page_number / LINE_SIZE) * SQUARE_HEIGHT; +} + +#ifdef FX9860G +void triangle_up(int y) +{ + int x=118; + dpixel(x+2, y, C_BLACK); + dline(x+1, y+1, x+3, y+1, C_BLACK); + dline(x, y+2, x+4, y+2, C_BLACK); +} +void triangle_down(int y) +{ + int x=118; + dline(x, y, x+4, y, C_BLACK); + dline(x+1, y+1, x+3, y+1, C_BLACK); + dpixel(x+2, y+2, C_BLACK); +} +#endif + +#ifdef FXCG50 +void triangle_up(int y) +{ + int x=370; + dpixel(x+3, y, C_BLACK); + dline(x+2, y+1, x+4, y+1, C_BLACK); + dline(x+1, y+2, x+5, y+2, C_BLACK); + dline(x, y+3, x+6, y+3, C_BLACK); + dline(x, y+4, x+6, y+4, C_BLACK); +} +void triangle_down(int y) +{ + int x=370; + dline(x, y, x+6, y, C_BLACK); + dline(x, y+1, x+6, y+1, C_BLACK); + dline(x+1, y+2, x+5, y+2, C_BLACK); + dline(x+2, y+3, x+4, y+3, C_BLACK); + dpixel(x+3, y+4, C_BLACK); +} +#endif + +static void explore_pages(uint8_t *pages, uint32_t *next_miss) +{ + extern uint32_t srom; + + for(uint p = 0; p < PAGE_COUNT; p++) + { + pages[p] = ((p << 12) < (uint32_t)&srom) ? PAGE_USED : 0; + } + + for(uint E = 0; E < 64; E++) + { + utlb_addr_t addr = *utlb_addr(E); + utlb_data_t data = *utlb_data(E); + + uint32_t src = addr.VPN << 10; + int valid = (addr.V != 0) && (data.V != 0); + int size = (data.SZ1 << 1) | data.SZ2; + if(!valid || size != 1) continue; + + int p = (src - 0x00300000) >> 12; + pages[p] |= PAGE_MAPPED; + } + + *next_miss = 0xffffffff; + for(uint p = 0; p < PAGE_COUNT; p++) + { + if((pages[p] & PAGE_USED) && !(pages[p] & PAGE_MAPPED)) + { + *next_miss = 0x00300000 + (p << 12); + break; + } + } +} + +#ifdef FXCG50 +void show_utlb(int row, int E) +{ + if(E == -1) + { + row_print(row, 2, "ID"); + row_print(row, 5, "Virtual"); + row_print(row, 14, "Physical"); + row_print(row, 23, "Size"); + row_print(row, 28, "Mode"); + row_print(row, 34, "SH"); + row_print(row, 37, "WT"); + row_print(row, 40, "C"); + row_print(row, 42, "D"); + row_print(row, 44, "V"); + return; + } + + utlb_addr_t addr = *utlb_addr(E); + utlb_data_t data = *utlb_data(E); + + uint32_t src = addr.VPN << 10; + uint32_t dst = data.PPN << 10; + + int valid = (addr.V != 0) && (data.V != 0); + int size = (data.SZ1 << 1) | data.SZ2; + char const *size_str[] = { "1k", "4k", "64k", "1M" }; + char const *access_str[] = { "K:r", "K:rw", "U:r", "U:rw" }; + + uint16_t fg = valid ? C_BLACK : C_RGB(24,24,24); + #define fg_ fg, C_NONE + + row_print_color(row, 2, fg_, "%d", E); + row_print_color(row, 5, fg_, "%08X", src); + row_print_color(row, 14, fg_, "%08X", dst); + row_print_color(row, 23, fg_, "%s", size_str[size]); + row_print_color(row, 28, fg_, "%s", access_str[data.PR]); + row_print_color(row, 34, fg_, "%s", (data.SH ? "SH" : "-")); + row_print_color(row, 37, fg_, "%s", (data.WT ? "WT" : "CB")); + row_print_color(row, 40, fg_, "%s", (data.C ? "C" : "-")); + row_print_color(row, 42, fg_, "%s", (addr.D || data.D ? "D" : "-")); + row_print_color(row, 44, fg_, "%s", (addr.V && data.V ? "V" : "-")); +} +#endif + +#ifdef FX9860G +void show_utlb(int row, int E) +{ + extern font_t font_hexa; + font_t const *old_font = dfont(&font_hexa); + int y = (row - 1) * 6; + + if(E == -1) + { + dprint( 1, y, C_, "ID"); + dprint(12, y, C_, "Virtual"); + dprint(47, y, C_, "Physical"); + dprint(82, y, C_, "Len"); + dprint(98, y, C_, "Mode"); + + dfont(old_font); + return; + } + + utlb_addr_t addr = *utlb_addr(E); + utlb_data_t data = *utlb_data(E); + + uint32_t src = addr.VPN << 10; + uint32_t dst = data.PPN << 10; + + int valid = (addr.V != 0) && (data.V != 0); + int size = (data.SZ1 << 1) | data.SZ2; + char const *size_str[] = { "1k", "4k", "64k", "1M" }; + char const *access_str[] = { "K:r", "K:rw", "U:r", "U:rw" }; + + dprint( 1, y, C_, "%d", E); + + if(valid) + { + dprint(12, y, C_, "%08X", src); + dprint(47, y, C_, "%08X", dst); + dprint(82, y, C_, "%s", size_str[size]); + dprint(98, y, C_, "%s", access_str[data.PR]); + } + + dfont(old_font); +} +#endif + +static void draw(int tab, uint8_t *pages, uint32_t next_miss, int tlb_scroll) +{ + extern uint32_t srom; + uint32_t rom_size = (uint32_t)&srom; + int rom_pages = (rom_size + (1 << 12)-1) >> 12; + + #ifdef FX9860G + if(tab != 2) + #endif + row_title(_("TLB management", "TLB miss handler and TLB management")); + + if(tab == 0) + { + row_print(_(2,1), 1, _("srom=%x (%d pages)", + "Size of ROM sections: %08X (%d pages of 4k)"), + rom_size, rom_pages); + + for(uint p=0, y=_(19,36); p < PAGE_COUNT; p += 2*LINE_SIZE) + { + dprint(_(4,18), y, C_, _("%06x","%08X"), + 0x00300000 + (p << 12)); + y += 2*SQUARE_HEIGHT; + } + + for(uint p = 0; p < PAGE_COUNT; p++) + { + draw_rom_cell(_(44,88) + rom_cell_x(p), + _(20,36) + rom_cell_y(p), pages[p]); + } + + #ifdef FXCG50 + if(next_miss != 0xffffffff) + { + uint p = (next_miss - 0x00300000) >> 12; + draw_rom_cell(88+rom_cell_x(p), 36+rom_cell_y(p), -1); + row_print(12, 1, "Next page to load: %08X", next_miss); + } + else + { + row_print(12, 1, "No page left to load!"); + } + row_print(13, 1, "See INFO tab for details."); + #endif + } + + else if(tab == 1) + { + row_print(_(2,1), 1, "Legend:"); + draw_rom_cell(_(8,18), _(17,36), 0); + draw_rom_cell(_(64,200), _(17,36), 1); + draw_rom_cell(_(8,18), _(25,50), 2); + draw_rom_cell(_(64,200), _(25,50), 3); + + dprint(_(16,30), _(16,36), C_, + _("Unused", "Unused in add-in")); + dprint(_(72,212), _(16,36), C_, + _("Unmapped", "Currently unmapped")); + dprint(_(16,30), _(24,50), C_, + _("Mapped?", "Strangely mapped?!")); + dprint(_(72,212), _(24,50), C_, + _("Mapped", "Currently mapped")); + + #ifdef FXCG50 + draw_rom_cell(18, 64, -1); + dprint(30, 64, C_, "Next page to load"); + + row_print(6, 1, + "The MISS key will load an unmapped page to TLB by"); + row_print(7, 1, + "performing a TLB miss, which calls %%003 on fx9860g"); + row_print(8, 1, + "and %%00c on fxcg50. The TIMER key performs a TLB"); + row_print(9, 1, + "miss from a timer callback."); + row_print(11, 1, + "Sometimes the page might be loaded by code or"); + row_print(12, 1, + "data before the intended TLB miss occurs."); + #endif + + #ifdef FX9860G + if(next_miss != 0xffffffff) + row_print(5, 1, "Next load: %x", next_miss); + else + row_print(5, 1, "No page left to load!"); + row_print(6, 1, "MISS: TLB miss"); + row_print(7, 1, "TIMER: From timer"); + #endif + } + + else if(tab == 2) + { + show_utlb(1, -1); + for(int i = 0; i < TLB_VIEW; i++) + show_utlb(i+2, tlb_scroll+i); + + if(tlb_scroll > 0) triangle_up(_(7,38)); + if(tlb_scroll < TLB_VIEW_MAX) triangle_down(_(49,192)); + } + + #ifdef FX9860G + extern bopti_image_t img_opt_gint_tlb; + dimage(0, 56, &img_opt_gint_tlb); + #endif + + #ifdef FXCG50 + fkey_menu(1, "ROM"); + fkey_menu(2, "INFO"); + fkey_menu(3, "TLB"); + fkey_action(5, "MISS"); + fkey_action(6, "TIMER"); + #endif +} + +static int generate_tlb_miss(volatile void *arg) +{ + uint8_t volatile *next_miss = arg; + GUNUSED uint8_t volatile x = *next_miss; + return 1; +} + +/* gintctl_gint_tlb(): TLB miss handler and TLB management */ +void gintctl_gint_tlb(void) +{ + key_event_t ev; + int key=0, tab=0; + + uint8_t pages[PAGE_COUNT]; + uint32_t next_miss = 0xffffffff; + int tlb_scroll = 0; + + while(key != KEY_EXIT) + { + dclear(C_WHITE); + + if(tab == 0 || tab == 1) + explore_pages(pages, &next_miss); + draw(tab, pages, next_miss, tlb_scroll); + + dupdate(); + key = (ev = getkey()).key; + + if(key == KEY_F1) tab = 0; + if(key == KEY_F2) tab = 1; + if(key == KEY_F3) tab = 2; + + if(tab == 2 && key == KEY_UP) + { + if(ev.shift) tlb_scroll = 0; + else if(tlb_scroll > 0) tlb_scroll--; + } + if(tab == 2 && key == KEY_DOWN) + { + if(ev.shift) tlb_scroll = TLB_VIEW_MAX; + else if (tlb_scroll < TLB_VIEW_MAX) tlb_scroll++; + } + + if(key == KEY_F5 && next_miss != 0xffffffff) + { + GUNUSED uint8_t volatile x; + x = *(uint8_t volatile *)next_miss; + } + if(key == KEY_F6 && next_miss != 0xffffffff) + { + timer_setup(1, timer_delay(1, 10000), timer_default, + generate_tlb_miss, (volatile void *)next_miss); + timer_start(1); + timer_wait(1); + } + } +} diff --git a/src/gintctl.c b/src/gintctl.c index 6e0ec0a..11b5d99 100644 --- a/src/gintctl.c +++ b/src/gintctl.c @@ -39,8 +39,10 @@ struct menu menu_gint = { { "RAM discovery", gintctl_gint_ram }, { "Memory dump", gintctl_gint_dump }, { "Switching to OS", gintctl_gint_switch }, + { "TLB management", gintctl_gint_tlb }, { "Keyboard", gintctl_gint_keyboard }, { "Timers", gintctl_gint_timer }, + { "Timer callbacks", gintctl_gint_timer_callbacks }, #ifdef FXCG50 { "DMA Control", gintctl_gint_dma }, #endif diff --git a/src/mem/mem.c b/src/mem/mem.c index 0a1a564..7a482b7 100644 --- a/src/mem/mem.c +++ b/src/mem/mem.c @@ -9,7 +9,7 @@ /* Code of exception that occurs during a memory access */ static uint32_t exception = 0; /* Exception-catching function */ -static int catch_exc(uint32_t code) +GMAPPED static int catch_exc(uint32_t code) { if(code == 0x040 || code == 0x0e0) { @@ -25,7 +25,7 @@ int line(uint8_t *mem, char *header, char *bytes, char *ascii, int n) /* First do a naive access to the first byte, and record possible exceptions - TLB miss read and CPU read error. I use a volatile asm statement so that the read can't be optimized - away by the compiler. */ + away or moved by the compiler. */ exception = 0; gint_exc_catch(catch_exc); uint8_t z; diff --git a/src/util.c b/src/util.c index eaabdd4..a7257d5 100644 --- a/src/util.c +++ b/src/util.c @@ -62,6 +62,18 @@ void row_print(int row, int x, char const *format, ...) str, C_BLACK, C_NONE); } +/* row_print_color(): Formatted printing... with custom colors! */ +void row_print_color(int row, int x, int fg, int bg, char const *format, ...) +{ + if(row < _(0,1) || row > ROW_COUNT) return; + + char str[80]; + shortprint(str, format); + + dtext(ROW_X + ROW_W * (x - 1), ROW_Y + ROW_H * (row - 1) + ROW_YPAD, + str, fg, bg); +} + /* row_highlight(): Invert a row's pixels to highlight it */ void row_highlight(int row) {