coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
p2sb.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#include <
console/console.h
>
4
#include <
intelblocks/p2sb.h
>
5
6
void
p2sb_soc_get_sb_mask
(
uint32_t
*ep_mask,
size_t
count
)
7
{
8
uint32_t
mask
;
9
10
if
(
count
!=
P2SB_EP_MASK_MAX_REG
) {
11
printk
(
BIOS_ERR
,
"Unable to program EPMASK registers\n"
);
12
return
;
13
}
14
15
/* Remove the host accessing right to PSF register range.
16
* Set p2sb PCI offset EPMASK5 [29, 28, 27, 26] to disable Sideband
17
* access for PCI Root Bridge.
18
*/
19
mask
= (1 << 29) | (1 << 28) | (1 << 27) | (1 << 26);
20
21
ep_mask[
P2SB_EP_MASK_5_REG
] =
mask
;
22
23
/*
24
* Set p2sb PCI offset EPMASK7 [31, 30] to disable Sideband
25
* access for Broadcast and Multicast.
26
*/
27
mask
= (1 << 31) | (1 << 30);
28
29
ep_mask[
P2SB_EP_MASK_7_REG
] =
mask
;
30
}
p2sb_soc_get_sb_mask
void p2sb_soc_get_sb_mask(uint32_t *ep_mask, size_t count)
Definition:
p2sb.c:12
p2sb.h
P2SB_EP_MASK_7_REG
@ P2SB_EP_MASK_7_REG
Definition:
p2sb.h:22
P2SB_EP_MASK_5_REG
@ P2SB_EP_MASK_5_REG
Definition:
p2sb.h:20
P2SB_EP_MASK_MAX_REG
@ P2SB_EP_MASK_MAX_REG
Definition:
p2sb.h:23
printk
#define printk(level,...)
Definition:
stdlib.h:16
console.h
BIOS_ERR
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
Definition:
loglevel.h:72
mask
static const int mask[4]
Definition:
gpio.c:308
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
count
#define count
src
soc
intel
icelake
p2sb.c
Generated by
1.9.1