Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Memory Protection Rule Data Register - protruledata

Description

Register Layout

Bits Access Reset Description
[1:0] RW Unknown Security Bit Behavior
[2] RW Unknown Valid Rule
[12:3] RW Unknown Port Mask
[13] RW Unknown Rule Results
[31:14] ??? 0x0 UNDEFINED

Field : Security Bit Behavior - security

A value of 2'b00 will make the rule apply to secure transactions.

A value of 2'b01 will make the rule apply to non-secure transactions.

A value of 2'b10 or 2'b11 will make the rule apply to secure and non-secure transactions.

Field Access Macros:

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_LSB   0
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_MSB   1
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_WIDTH   2
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_SET_MSK   0x00000003
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_CLR_MSK   0xfffffffc
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_RESET   0x0
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_GET(value)   (((value) & 0x00000003) >> 0)
 
#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_SET(value)   (((value) << 0) & 0x00000003)
 

Field : Valid Rule - validrule

Set to bit to a one to make a rule valid, set to a zero to invalidate a rule.

Field Access Macros:

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_LSB   2
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_MSB   2
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_WIDTH   1
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_SET_MSK   0x00000004
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_CLR_MSK   0xfffffffb
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_RESET   0x0
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_GET(value)   (((value) & 0x00000004) >> 2)
 
#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_SET(value)   (((value) << 2) & 0x00000004)
 

Field : Port Mask - portmask

Set bit x to a one to have this rule apply to port x, set bit x to a zero to have the rule not apply to a port.&#10;Note that port 0-port 5 are the FPGA fabric ports, port 6 is L3 read, port 7 is CPU read, port 8 is L3 write, port 9 is CPU write.

Field Access Macros:

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_LSB   3
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_MSB   12
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_WIDTH   10
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_SET_MSK   0x00001ff8
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_CLR_MSK   0xffffe007
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_RESET   0x0
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_GET(value)   (((value) & 0x00001ff8) >> 3)
 
#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_SET(value)   (((value) << 3) & 0x00001ff8)
 

Field : Rule Results - ruleresult

Set this bit to a one to force a protection failure, zero to allow the access the succeed

Field Access Macros:

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_LSB   13
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_MSB   13
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_WIDTH   1
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_SET_MSK   0x00002000
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_CLR_MSK   0xffffdfff
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_RESET   0x0
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_GET(value)   (((value) & 0x00002000) >> 13)
 
#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_SET(value)   (((value) << 13) & 0x00002000)
 

Data Structures

struct  ALT_SDR_CTL_PROTRULEDATA_s
 

Macros

#define ALT_SDR_CTL_PROTRULEDATA_OFST   0x98
 

Typedefs

typedef struct
ALT_SDR_CTL_PROTRULEDATA_s 
ALT_SDR_CTL_PROTRULEDATA_t
 

Data Structure Documentation

struct ALT_SDR_CTL_PROTRULEDATA_s

WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.

The struct declaration for register ALT_SDR_CTL_PROTRULEDATA.

Data Fields
uint32_t security: 2 Security Bit Behavior
uint32_t validrule: 1 Valid Rule
uint32_t portmask: 10 Port Mask
uint32_t ruleresult: 1 Rule Results
uint32_t __pad0__: 18 UNDEFINED

Macro Definitions

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_LSB   0

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_MSB   1

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_WIDTH   2

The width in bits of the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_SET_MSK   0x00000003

The mask used to set the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field value.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_CLR_MSK   0xfffffffc

The mask used to clear the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field value.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_RESET   0x0

The reset value of the ALT_SDR_CTL_PROTRULEDATA_SECURITY register field is UNKNOWN.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_GET (   value)    (((value) & 0x00000003) >> 0)

Extracts the ALT_SDR_CTL_PROTRULEDATA_SECURITY field value from a register.

#define ALT_SDR_CTL_PROTRULEDATA_SECURITY_SET (   value)    (((value) << 0) & 0x00000003)

Produces a ALT_SDR_CTL_PROTRULEDATA_SECURITY register field value suitable for setting the register.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_LSB   2

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_MSB   2

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_WIDTH   1

The width in bits of the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_SET_MSK   0x00000004

The mask used to set the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field value.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_CLR_MSK   0xfffffffb

The mask used to clear the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field value.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_RESET   0x0

The reset value of the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field is UNKNOWN.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_GET (   value)    (((value) & 0x00000004) >> 2)

Extracts the ALT_SDR_CTL_PROTRULEDATA_VALIDRULE field value from a register.

#define ALT_SDR_CTL_PROTRULEDATA_VALIDRULE_SET (   value)    (((value) << 2) & 0x00000004)

Produces a ALT_SDR_CTL_PROTRULEDATA_VALIDRULE register field value suitable for setting the register.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_LSB   3

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_MSB   12

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_WIDTH   10

The width in bits of the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_SET_MSK   0x00001ff8

The mask used to set the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field value.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_CLR_MSK   0xffffe007

The mask used to clear the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field value.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_RESET   0x0

The reset value of the ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field is UNKNOWN.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_GET (   value)    (((value) & 0x00001ff8) >> 3)

Extracts the ALT_SDR_CTL_PROTRULEDATA_PORTMSK field value from a register.

#define ALT_SDR_CTL_PROTRULEDATA_PORTMSK_SET (   value)    (((value) << 3) & 0x00001ff8)

Produces a ALT_SDR_CTL_PROTRULEDATA_PORTMSK register field value suitable for setting the register.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_LSB   13

The Least Significant Bit (LSB) position of the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_MSB   13

The Most Significant Bit (MSB) position of the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_WIDTH   1

The width in bits of the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_SET_MSK   0x00002000

The mask used to set the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field value.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_CLR_MSK   0xffffdfff

The mask used to clear the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field value.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_RESET   0x0

The reset value of the ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field is UNKNOWN.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_GET (   value)    (((value) & 0x00002000) >> 13)

Extracts the ALT_SDR_CTL_PROTRULEDATA_RULERESULT field value from a register.

#define ALT_SDR_CTL_PROTRULEDATA_RULERESULT_SET (   value)    (((value) << 13) & 0x00002000)

Produces a ALT_SDR_CTL_PROTRULEDATA_RULERESULT register field value suitable for setting the register.

#define ALT_SDR_CTL_PROTRULEDATA_OFST   0x98

The byte offset of the ALT_SDR_CTL_PROTRULEDATA register from the beginning of the component.

Typedef Documentation

The typedef declaration for register ALT_SDR_CTL_PROTRULEDATA.