• Aucun résultat trouvé

Checkstop Sources and Enables Register—HID0

Registers and Data Types

2.3 Supervisor-Level Registers

2.3.2 Segment Registers

2.3.3.12 BAT Registers

2.3.3.13.1 Checkstop Sources and Enables Register—HID0

The checkstop sources and enables register (HID0), shown in Figure 2-25, is a supervisor-level register that defines enable and monitor bits for each of the checkstop sources in the 601. The SPR number for HID0 is 1008.

Table 2-21. Additional SPR Encodings

SPR Number SPR Encoding

SPR(5–9)|SPR(0–4) Register Name Access

1008 11111 10000 Checkstop sources and enables register (HID0) Supervisor

1009 11111 10001 601 debug modes register (HID1) Supervisor

1010 11111 10010 IABR (HID2) Supervisor

1013 11111 10101 DABR (HID5) Supervisor

1023 11111 11111 PIR (HID15) Supervisor

Figure 2-25. Checkstop Sources and Enables Register (HID0)

Table 2-22 defines the bits in HID0. The enable bits (bits 15–31) can be used to mask individual checkstop sources, although these are provided primarily to mask off any false reports of such conditions for debugging purposes. Bit 0 (HID0[CE]) is a master checkstop enable; if it is cleared, all checkstop conditions are disabled; if it is set, individual conditions can be enabled separately. HID0[EM] (bit 16) enables and disables machine check checkstops; clearing this bit masks machine check checkstop conditions that occur when MSR[ME] is cleared. Bits 1–11 are the checkstop source bits, and can be used to determine the specific cause of a checkstop condition.

Table 2-22. Checkstop Sources and Enables Register (HID0) Definition

Bit Name Description

0 CE Master checkstop enable. Enabled if set. If this bit is cleared and the TEA signal is asserted, a machine check exception is taken, regardless of the setting of MSR[ME].

1 S Microcode checkstop detected if set.

2 M Double machine check detected if set.

3 TD Multiple TLB hit checkstop if set.

4 CD Multiple cache hit checkstop if set.

5 SH Sequencer time out checkstop if set.

6 DT Dispatch time out checkstop if set.

7 BA Bus address parity error if set.

8 BD Bus data parity error if set.

9 CP Cache parity error if set.

10 IU Invalid microcode instruction if set.

11 PP I/O controller interface access protocol error if set.

12–14 Reserved

15 ES Enable microcode checkstop. Enabled by hard reset. Enabled if set.

Reserved

HID0

EDT ESH ECD ETD

EBD ECP EIU EPP EBA

DRF DRL PAR

EMC EHP

CE S M TD CD SH DT BA BD CP IU PP 0 0 0 ES EM LM

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

All enable bits except 15 and 24 are disabled at start up. The operating system should enable these checkstop conditions before the power-on reset sequence is complete.

Checkstop enable bits can be set or cleared without restriction. If a checkstop source bit is set, it can be cleared; however, if the corresponding checkstop condition is still present on the next clock, the bit will be set again. A checkstop source bit can only be set when the corresponding checkstop condition occurs and the checkstop enable bit is set; it cannot be set via an mtspr instruction. That is, you cannot manually cause a checkstop.

16 EM Enable machine check checkstop. Disabled by hard reset. Enabled if set. If this bit is cleared and the TEA signal is asserted, a machine check exception is taken, regardless of the setting of MSR[ME].

17 ETD Enable TLB checkstop. Disabled by hard reset. Enabled if set.

18 ECD Enable cache checkstop. Disabled by hard reset. Enabled if set.

19 ESH Enable sequencer time out checkstop. Disabled by hard reset. Enabled if set.

20 EDT Enable dispatch time out checkstop. Disabled by hard reset. Enabled if set.

21 EBA Enable bus address parity checkstop. Disabled by hard reset. Enabled if set.

22 EBD Enable bus data parity checkstop. Disabled by hard reset. Enabled if set.

23 ECP Enable cache parity checkstop. Disabled by hard reset. Enabled if set.

24 EIU Enable for invalid ucode instruction checkstop. Enabled by hard reset. Enabled if set.

25 EPP Enable for I/O controller interface access protocol checkstop. Disabled by hard reset.

Enabled if set.

26 DRF 0 Optional reload of alternate sector on instruction fetch miss is enabled.

1 Optional reload of alternate sector on instruction fetch miss is disabled.

27 DRL 0 Optional reload of alternate sector on load/store miss is enabled.

1 Optional reload of alternate sector on load/store miss is disabled.

28 LM 0 Big-endian mode is enabled.

1 Little-endian mode is enabled.

For more information about byte ordering, see Section 2.4.3, “Byte and Bit Ordering.” Note that in the PowerPC architecture, the selection between big- and little-endian mode is controlled by two bits in the MSR.

29 PAR 0 Precharge of the ARTRY and SHD signals is enabled.

1 Precharge of the ARTRY and SHD signals is disabled.

30 EMC 0 No error detected in main cache during array initialization.

1 Error detected in main cache during array initialization.

31 EHP 0 The HP_SNP_REQ signal is disabled. Use of the WRS queue position is restricted to a snoop hit that occurs when a read is pending. That is, its address tenure is complete but the data tenure has not begun.

1 The HP_SNP_REQ signal is enabled. Use of the WRS queue position is restricted to a snoop hit on an address tenure that had HP_SNP_REQ asserted.

Table 2-22. Checkstop Sources and Enables Register (HID0) Definition (Continued)

Bit Name Description

The HID0 register is set to x'80010080' by the hard reset operation. However, the state of the EMC bit depends on the results of the power-on diagnostics for the main cache array.

This bit is set if the cache fails the built-in self test during the power-on sequence.

2.3.3.13.2 601 Debug Modes Register—HID1

The 601 debug modes register (HID1) is a supervisor-level register that defines enable bits for the various debug modes supported by the 601; see Figure 2-26. The SPR number for HID1 is 1009.

Figure 2-26. PowerPC 601 Microprocessor Debug Modes Register

Table 2-23 shows bit settings for the HID1 register. Note that if both the single instruction step option is specified for the M field (b'100') and the trap to run mode exception option is specified in the RM field (b'10'), the processor iterates in an infinite loop.

Table 2-23. HID1 Register Definition

Bit Name Description

0 Reserved

1–3 M 601 run modes

000 Normal run mode 001 Undefined. Do not use.

010 Limited instruction address compare.

011 Undefined. Do not use.

100 Single instruction step 101 Undefined. Do not use.

110 Full instruction address compare 111 Full branch target address compare

4–7 Reserved

8–9 RM Response to address compare or single step 00 Hard stop (Stop L1 clocks).

01 Soft stop (Wait for system activity to quiesce).

10 Trap to run mode exception (address vector x'02000'), with the base address indicated in by the setting of MSR[IP]. This mode is valid for address comparisons and may produce unpredictable results when used with HID single-instruction step mode.

11 Reserved. Do not use.

Note that when HID1[8–9] = 10, the trap address of x'2000' has a base address indicated by the setting of MSR[IP]. This mode is valid for address comparisons and may produce unpredictable results when used with HID single-step mode.

10–16 Reserved. Do not use.

17 TL When set, this bit disables the broadcast of the tlbie instruction.

18–31 Reserved. Do not use.

HID1

0 1 3 4 7 8 9 10 16 17 18 31

Reserved 0 M 0 0 0 0 RM 0 0 0 0 0 0 0 TL 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Note that when HID1[8–9] = 10, the trap address of x'2000' has a base address indicated by the setting of MSR[IP]. This mode is valid for address comparisons and may produce unpredictable results when used with the HID single-step mode.

The HID1 register is cleared by a hard reset.