rcornwell / sims

Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
http://sky-visions.com
95 stars 20 forks source link

kl10 maybe pmove/pmovem don't always use physical memory addresses #308

Closed jeffgunter closed 1 year ago

jeffgunter commented 1 year ago

my tops10 doesn't finish startup without dying.

the problem seems to be this code: setz t1, pmovem t1,[0] pmovem t1,[1]

these instructions should i think zero unmapped physical memory locations 0 and 1, but these instructions seem to zero AC0 and AC1, and AC1 is the kernel stack pointer, so that becomes a problem.

this code worked as described on my sc40, and my klh10; it zeroes unmapped physical memory locations 0 and 1. under simh it zeroes fast memory locations 0 and 1.

-jfg

rcornwell commented 1 year ago

I will have to check up on how pmove should work.

rcornwell commented 1 year ago

Where is this code in the source? I can't find my Tops 10 uses PMOVE at all.

jeffgunter commented 1 year ago

Your tops10 doesn’t do it.   Mine does during sysini.   We made several modifications to tops10, which I think is not terribly unusual.  Think more compuserve than vanilla.FYI we keep several tracking bits of data in supershadow acs (ie low physical memory like 0 & 1) which will be in the dump if a crash happens.  We use pmovem because we also write protect exec page zero during normal operations since more than one bug happens specifically because a clobbered index ac was being used and low memory got overwritten;  we get a page fault in that situation instead; having the page fault words helps debugging. I’ve gotten this far in trying to get our kernel running by just jfcl’ing those pmovem instructions for now and in this case can live that way forever; you are welcome to leave things as they are.  I’ll mind my own business going forward.  :)Thanx for your help,-jfgSent from my iPhoneOn Sep 27, 2023, at 17:27, Richard Cornwell @.***> wrote: Where is this code in the source? I can't find my Tops 10 uses PMOVE at all.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

rcornwell commented 1 year ago

Actually I believe you are correct. I have fixed the issue, but have to test everything since the code is used by all processors. If you want to test it for yourself, in Mem_read_nopage/Mem_write_nopage, just comment out the if (AB < 020) lines.

rcornwell commented 1 year ago

Pushed a fix out there... give it a try and let me know. Also since you mentioned you have a SC-40, do you have any docs on exec mode or devices for SC-40?

jeffgunter commented 1 year ago

i will give it a shot.

yes, i acquired an sc40,  but i don't have much specific documentation, beyond our code.  i might be able to answer specific questions either from memory (mine, not the sc40s), or from our existing code.  mike/stew have suggested a couple of times they would/could supply documentation, but time moves more slowly in vegas; i haven't seen any.

the real expert would be Fred Wright, as he worked (or maybe is working) with scgroup; think he did some sc40 sa channel ucode upgrades to support 512 byte block sizes for the museum(s) (or maybe stewart did that ... ?).  also, there must surely be some compuserve people that are reeeeeal whizes on sc40s.  lastly, cory smolski; i've lost contact with them, and am not sure on name's spelling.

-jfg

------ Original Message ------ Received: 08:22 PM EDT, 09/27/2023 From: Richard Cornwell @.> To: rcornwell/sims @.> Cc: jeffgunter @.>, Author @.> Subject: Re: [rcornwell/sims] kl10 maybe pmove/pmovem don't always use physical memory addresses (Issue #308)

    Pushed a fix out there... give it a try and let me know. Also since you mentioned you have a SC-40, do you have any docs on exec mode or devices for SC-40?

    —
      Reply to this email directly, view it on GitHub, or unsubscribe.
      You are receiving this because you authored the thread.Message ID: ***@***.***>
     [ { ***@***.***": "http://schema.org", ***@***.***": "EmailMessage", "potentialAction": { ***@***.***": "ViewAction", "target": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738274165", "url": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738274165", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { ***@***.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]
jeffgunter commented 1 year ago

if i use the console command "e" (examine i think?) is the address i give physical or does it go thru one of the paging registers?  perhaps phys, UB or EB, depending on pager enabled, and mode?  can i control which address space is used?

ie: does

e <7 digit address>

look at unmapped memory, or does it go thru on the paging registers and associated map(s) ?

sorry to be so dim.

-jfg

------ Original Message ------ Received: 08:22 PM EDT, 09/27/2023 From: Richard Cornwell @.> To: rcornwell/sims @.> Cc: jeffgunter @.>, Author @.> Subject: Re: [rcornwell/sims] kl10 maybe pmove/pmovem don't always use physical memory addresses (Issue #308)

    Pushed a fix out there... give it a try and let me know. Also since you mentioned you have a SC-40, do you have any docs on exec mode or devices for SC-40?

    —
      Reply to this email directly, view it on GitHub, or unsubscribe.
      You are receiving this because you authored the thread.Message ID: ***@***.***>
     [ { ***@***.***": "http://schema.org", ***@***.***": "EmailMessage", "potentialAction": { ***@***.***": "ViewAction", "target": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738274165", "url": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738274165", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { ***@***.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]
rcornwell commented 1 year ago

examine uses real physical memory.

For SC-40 my question is about how the paging table worked (for extended paging). I kind of worked it out, but code does not run correctly. Use direct email for sc-40 or create a issue about adding sc-40 support to pdp10 simulator.

jeffgunter commented 1 year ago

thanx for the reply.  dropped an email to the address alt.pdp10 lists as your email.  scold me as appropriate with correct contact procedures.

-jfg

------ Original Message ------
   Received: 09:28 PM EDT, 09/27/2023
   From: Richard Cornwell ***@***.***>
   To: rcornwell/sims ***@***.***>
  Cc: jeffgunter ***@***.***>, Author ***@***.***>
   Subject: Re: [rcornwell/sims] kl10 maybe pmove/pmovem don't always use physical memory addresses (Issue #308)

      examine uses real physical memory.

      For SC-40 my question is about how the paging table worked (for extended paging). I kind of worked it out, but code does not run correctly. Use direct email for sc-40 or create a issue about adding sc-40 support to pdp10 simulator.

      —
        Reply to this email directly, view it on GitHub, or unsubscribe.
        You are receiving this because you authored the thread.Message ID: ***@***.***>
       [ { ***@***.***": "http://schema.org", ***@***.***": "EmailMessage", "potentialAction": { ***@***.***": "ViewAction", "target": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738313391", "url": "https://github.com/rcornwell/sims/issues/308#issuecomment-1738313391", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { ***@***.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]
rcornwell commented 1 year ago

My email is in my profile. Don't read yahoo address anymore. :-)

jeffgunter commented 1 year ago

Ok. Will resend when I get home.Sent from my iPhoneOn Sep 27, 2023, at 23:22, Richard Cornwell @.***> wrote: My email is in my profile. Don't read yahoo address anymore. :-)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

rcornwell commented 1 year ago

Does the fix I pushed solve your problem?

jeffgunter commented 1 year ago

I will check when I have access; I am on the road for the next 10 hours or so.Sent from my iPhoneOn Sep 28, 2023, at 08:39, Richard Cornwell @.***> wrote: Does the fix I pushed solve your problem?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

jeffgunter commented 1 year ago

yes, seems to be solved.

-jfg

------ Original Message ------ Received: 08:39 AM EDT, 09/28/2023 From: Richard Cornwell @.> To: rcornwell/sims @.> Cc: jeffgunter @.>, Author @.> Subject: Re: [rcornwell/sims] kl10 maybe pmove/pmovem don't always use physical memory addresses (Issue #308)

    Does the fix I pushed solve your problem?

    —
      Reply to this email directly, view it on GitHub, or unsubscribe.
      You are receiving this because you authored the thread.Message ID: ***@***.***>
     [ { ***@***.***": "http://schema.org", ***@***.***": "EmailMessage", "potentialAction": { ***@***.***": "ViewAction", "target": "https://github.com/rcornwell/sims/issues/308#issuecomment-1739079553", "url": "https://github.com/rcornwell/sims/issues/308#issuecomment-1739079553", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { ***@***.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]