Revision history   OpenPOWER Library

 10.1.16. PSL Context Swap Time Register (PSL_CtxTime)

 The PSL Context Swap Time Register (PSL_CtxTime) allows system software to define the amount of time an AFU is allowed to continue processing a job before the PSL requests that the operation be preempted and the context saved.

 A timer is started when a context swap is requested by the PSL. The timer is stopped when the AFU responds to the context swap request. If the timer exceeds the Warn_OS time before the AFU responds, a data storage interrupt is presented to the operating system; logical interrupt source number 0 (LISN0). The actions taken by the operating system is implementation specific.

 The Warn_OS time field is only used for time-sliced virtualization programming models.

 A timer is started when an interrupt is presented to the operating system for exceeding the Warn_OS time in a time-sliced virtualization model, or when any interrupt is presented in a non time-sliced virtualization programming model. The timer is stopped when either the AFU responds to the context swap request in a time-sliced virtualization programming model or when the corresponding PSL_TFC_An Register is written in a non time-sliced programming model. If the timer exceeds the Warn_Hypervisor time, a PSL Error (ErrIVTE) is presented to the hypervisor. The actions taken by the hypervisor is implementation specific.

 The content this register should be initialized by system software.

 This facility is optional for CAIA-compliant devices that do not support virtualization. System software can detect if this feature is supported by writing x'00FF00FF00000000' to this register and reading back the contents. If a value of zero is returned, this feature is not supported. Any nonzero value indicates that the feature is supported.

 There is only one register for the PSL. Access to this register should be privileged. This register must be accessed using a single 64-bit store operation.

Access Type

Read/Write

 Base Address Offset

 P1_Base + x'0000'

Reserved

Warn_Hypervisor

Reserved

Warn_OS

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

Reserved

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

Bits

Field Name

Description

 0:7

 Reserved

 Reserved.

 8:15

 Warn_Hypervisor

 Warn hypervisor time.

 The warn hypervisor time defines the amount of time after the warning is sent to the operating system when the PSL sends an interrupt to the hypervisor. After the interrupt is presented to the AFU, the context of the AFU is not swapped until the interrupt is acknowledged.

 The actions taken by the hypervisor are implementation dependent.

 Mapping of the value to an absolute time is implementation dependent.

 Setting this field to a value of x'00' disables the timer.

 16:23

 Reserved

 Reserved.

 24:31

 Warn_OS

 Warn OS time.

 The warn OS time defines the amount of time the AFU is allowed to complete a context save after being preempted by the PSL. When the warn OS time is exceeded, the PSL sends an interrupt to the OS. After the interrupt is presented to the AFU, the context of the AFU is not swapped until the interrupt is acknowledged.

 The actions taken by the OS is operating-system dependent. See the operating system manual for more information.

 Mapping of the value to an absolute time is implementation dependent.

 Setting this field to a value of x'00' disables the timer.

 32:63

 Reserved

 Reserved.


loading table of contents...