PAG === 2007-08-21 ---------- BECAUSE THE PAGER REPORTS SOFT ERRORS USING PI, IT CANNOT REPORT SOFT ERRORS THAT HAPPEN WHEN THE PROCESSOR IS RUNNING AT OR ABOVE THE PI LEVEL USED TO REPORT SOFT ERRORS. ITS WILL REPORT SOFT ERRORS AT CLKLEV (7), THE PAGER CANNOT REPORT SOFT ERRORS IN ANY PI HANDLER. THIS MEANS THAT THE "INTERRUPT IN A PI HANDLER" CASE AND THE "ERROR THAT HAPPENS BETWEEN THE START OF THE SOFT ERROR PI HANDLER AND THE PLACE WHERE THE SOFT ERROR HANDLER DOES THE DATAI TO SAVE THE STATUS" CASE ARE THE SAME. THE SYSTEM DOES NOT HANDLE THESE CASES GRACEFULLY. THE PAGER WILL CAPTURE THE STATUS, SEND THE SPECIAL SOFT ERROR STATUS BACK ON THE SYSTEM BUS TO TELL THE PROCESSOR TO FLUSH AND REPLAY, AND POST A PI. THE PI WILL BE IGNORED, SO THE INSTRUCTION REPLAY, FAIL AGAIN, AND THE PROCESS WILL REPEAT. THE PROCESSOR WILL BE STUCK IN A LIVE-LOCK, CONTINUOUSLY FETCHING, FAILING, AND REPLAYING THE OFFENDING INSTRUCTION. THE ONLY THING THAT CAN BE DONE IS PUSH THE "HLT" BUTTON (STOPPING THE PROCESSOR DEAD) OR PUSH THE "DDT" BUTTON (WHICH MAKES A LEVEL 1 PI, WHICH HAS A GOOD CHANCE OF GETTING THE SYSTEM INTO DDT, UNLESS WE ARE LIVE-LOCKED IN A LEVEL 1 PI HANDLER). THIS MIGHT SEEM UGLY, BUT REMEMBER THAT AN INFINITE INDIRECT ADDRESS LOOP IN A PI HANDLER CAN LIVE-LOCK THE MACHINE AS WELL. CONI PAG+0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |R|P|A|I| I | | |E|E|E|R| A | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 CONO PAG+0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |R|P|A| | I | | |E|E|E| | A | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 RE ROM ENABLE PE PAGING ENABLE AE AC REDIRECT ENABLE IR INTERRUPT REQUEST (REALLY JUST A COPY OF IR IN DATAI PAG+0) IA INTERRUPT CHANNEL ASSIGNMENT RE=1, PE=0, AE=0, IA=0 AT RESET (SET TO DO ROM FETCH FOR INITIAL PC = 20) RE ONLY DOES ANYTHING IF PE IS 0. IF RE IS 1 READS IN THE LOW 128KW OF THE ADDRESS SPACE GO TO ROM, AND WRITES IN THE LOW 128KW OF THE ADDRESS SPACE GET A HARD ERROR (THE HIGH 128KW IS NORMAL). IF RE IS 0 THEN THE WHOLE 128+128KW WORDS IS NORMAL). PUTTING THE ROM IN THE LOW END OF THE ADDRESS SPACE SEEMS BETTER FOR IMPLEMENTING DSKDMP. DATAI PAG+0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |I|U|W| P | | A | |R| | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |I|U|W| P | | A | |R| | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 IR INTERRUPT REQUEST; SET TO 1 BY SE UNLESS XCTRI U SE IN USER MODE W SE ON WRITE P P FIELD FROM PTE THAT CAUSED THE SE A VA THAT CAUSED THE SE ALL FIELDS ARE SET TO 0 BY RESET DATAI PAG+1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | A | | | | R | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | A | | | | R | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 ARB AC REDIRECT BASE, PHYSICAL ADDRESS, 16-WORD ALIGNED ALL FIELDS ARE SET TO 0 BY RESET DATAI PAG+2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | T | | | M | | | R | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | T | | | M | | | R | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 TMR TIME, INCREMENTS AT 4 US RATE IF NOT LEVEL 0 ALL FIELDS ARE SET TO 0 BY RESET THE QUANTUM TIMER IS AN 18-BIT TIMER THAT INCREMENTS AT A 250 KHZ RATE (THAT IS, THE 16 MHZ MAIN CLOCK DIVIDED BY 64) ANY TIME THE PROCESSOR IS RUNNING AT LEVEL 0. IT DOES NOTHING BUT COUNT; THERE ARE NO INTERRUPTS OR ANYTHING LIKE THAT (THE QUANTUM TIMER IN THE SYSTEMS CONCEPTS ITS PAGING BOX FOR THE KA10 SEEMS TOM INCLUDE AN INTERRUPT, BUT ITS GOES TO SOME TROUBLE TO ARRANGE THAT THE INTERRUPT NEVER FIRES). THE QUANTUM TIMER IN THE SYSTEMS CONCEPTS ITS PAGING BOX FOR THE KA10 IS 19 BITS WIDE AND INCREMENTS AT 1 MHZ, BUT THE FACT THAT IT INCREMENTS AT 1 MHZ IS NEVER USED; ANY TIME ITS READS THE QUANTUM TIMER IT IMMEDIATELY SHIFTS THE VALUE IT READS RIGHT BY 2 BITS. THE PDP-10/X QUANTUM TIMER, WHICH INCREMENTS AT THE DESIRED 4 US RATE, IS ACTUALLY 1 BIT WIDER THAN IT NEEDS TO BE. PUTTING THE 18-BIT QUANTUM TIMER IN THE PAGER MIGHT SEEM A LITTLE STRANGE, BUT IT REALLY HAS MORE TO DO WITH ITS PAGING THAT WITH THE PROCESSOR (IT CERTAINLY IS NOT NEEDED IN A TOPS-10 MACHINE). THIS TIMER HAS TO INCREMENT AT LEVEL 0 TIME, SO THE SYSTEM BUS NEEDS A SIGNAL TO TELL THE PAGER THAT THE CPU IS AT LEVEL 0; FORTUNATELY THIS SIGNAL IS ONE THAT A FRONT PANEL WOULD LIKE AS WELL (FOR A "PI IN PROG" LED). DATAO PAG+3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |I|I|I| | V | |E|U|S| | A | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 IE INVALIDATE EXEC MODE IU INVALIDATE USER MODE IS INVALIDATE SINGLE TRANSLATION GIVEN VA, OTHERWISE ALL VA VIRTUAL ADDRESS TO INVALIDATE INVALIDATE ONE OR ALL ENTRIES IN THE PAGER'S CACHE. THE IE AND IU BITS DETERMINE IF THE EXEC SPACE AND/OR THE USER SPACE IS INVALIDATED. THE IS BIT DETERMINES IF ALL OF THE TRANSLATIONS SHOULD BE INVALIDATED (IS = 0) OR JUST THE TRANSLATION FOR THE VIRTUAL ADDRESS SPECIEIED BY THE VA FIELD (IS = 1). A SINGLE 1K PAGE AT LOCATION X CAN BE FLUSHED FROM BOTH THE EXEC MODE AND USER MODE ADDRESS SPACES (THAT IS, A CLRPT CAN BE DONE, ALBEIT ONE WITH 1K PAGES, WHICH IS WHAT ITS WANTS ANYWAY) WITH DATAO PAG+3,[700000,,X]. DATAI PAG+4 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | E | | | | L | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+4 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | E | | | | L | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 ELB EXEC MODE LOSEG PT BASE, PHYSICAL ADDRESS, 64-WORD ALIGNED ALL FIELDS ARE SET TO 0 BY RESET DATAI PAG+5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | E | | | | H | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | E | | | | H | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 EHB EXEC MODE HISEG PT BASE, PHYSICAL ADDRESS, 64-WORD ALIGNED ALL FIELDS ARE SET TO 0 BY RESET DATAI PAG+6 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | U | | | | L | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+6 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | U | | | | L | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 ULB USER MODE LOSEG PT BASE, PHYSICAL ADDRESS, 64-WORD ALIGNED ALL FIELDS ARE SET TO 0 BY RESET DATAI PAG+7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | U | | | | H | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 DATAO PAG+7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | U | | | | H | | | | B | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 UHB USER MODE HISEG PT BASE, PHYSICAL ADDRESS, 64-WORD ALIGNED ALL FIELDS ARE SET TO 0 BY RESET