1 Reply Latest reply on Oct 19, 2010 9:42 AM by jheld

    Pulling and releasing resets

    aprell

      Hi,

       

      The SCC Programmer's Guide shows an example of resetting and rebooting individual cores. It says, "When you release the reset on a core, SCC Linux then boots again". That doesn't seem to be the case on our system. Here's an example. We start with Linux running on eight cores:

       

      $ sccBoot -s
      INFO: Welcome to sccBoot 1.3.0 (build date Aug 25 2010 - 15:55:06)...
      Status: The following cores can be reached with ping (booted): 8 cores (PIDs = 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 and 0x07)...

       

      $ sccReset -p 0..3
      INFO: Welcome to sccReset 1.3.0 (build date Aug 25 2010 - 15:55:54)...
      INFO: Resets have been pulled: 4 cores (PIDs = 0x00, 0x01, 0x02 and 0x03)...

       

      $ sccBoot -s
      INFO: Welcome to sccBoot 1.3.0 (build date Aug 25 2010 - 15:55:06)...
      Status: The following cores can be reached with ping (booted): 4 cores (PIDs = 0x04, 0x05, 0x06 and 0x07)...

       

      $ sccReset -r 0..3
      INFO: Welcome to sccReset 1.3.0 (build date Aug 25 2010 - 15:55:54)...
      INFO: Resets have been released: 4 cores (PIDs = 0x00, 0x01, 0x02 and 0x03)...

       

      $ sccBoot -s
      INFO: Welcome to sccBoot 1.3.0 (build date Aug 25 2010 - 15:55:06)...
      Status: The following cores can be reached with ping (booted): 4 cores (PIDs = 0x04, 0x05, 0x06 and 0x07)...

       

      sccReset -p works as expected, resetting cores 0 through 3, but sccReset -r doesn't seem to reboot any of the cores. Am I missing something? What does sccReset -r actually do?

        • 1. Re: Pulling and releasing resets
          jheld

          You've found an error in the programmers guide.  We'll correct that.   Releasing reset doesn't boot Linux, it just allows the cores to execute the boot sequence.

           

          SCC doesn't have the PC platform BIOS ROM and doesn't implement the typical bootstrap process, loading images from disk and such.  It depends on a bootable image being preloaded into memory by the sccKit utilities.

           

          sccBoot pulls reset, loads the bootable Linux images into memory, sets up configuration registers and releases reset - and the cores execute the boot sequence (see section 16 of the Penitum P45c manual in documentation).

           

          sccReset -p simply pulls the reset - holding the cores in the reset state.

          sccReset -r releases reset, letting the execute the boot sequence.   The "-r" stands for "release" not "reboot".

           

          So you loaded a bootable image for the cores, and let them boot using that image.  You then put 4 of them into reset mode.

          You then let them execute the boot sequence again, on a memory image in an unknown (not-bootable) state.

           

          -Jim