Function report |
Source Code:arch\x86\kernel\mmconf-fam10h_64.c |
Create Date:2022-07-28 08:53:27 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:get_fam10h_pci_mmconf_base
Proto:static void get_fam10h_pci_mmconf_base(void)
Type:void
Parameter:Nothing
| 69 | If fam10h_pci_mmconf_base Then Return |
| 72 | If Not early_pci_allowed() Then Return |
| 75 | found = 0 |
| 83 | id = Direct PCI access. This is used for PCI accesses in early boot beforethe PCI subsystem works. |
| 89 | found = 1 |
| 90 | Break |
| 94 | If Not found Then Return |
| 98 | address = MSR_K8_SYSCFG |
| 102 | If Not (val & 1 << 21 ) Then |
| 103 | tom2 = 1ULL << 32 |
| 104 | Else |
| 106 | address = MSR_K8_TOP_MEM2 |
| 108 | tom2 = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(val & 0xffffff800000ULL, 1ULL << 32) |
| 111 | If base <= tom2 Then base = tom2 + 2 * MMCONF_UNIT - 1 & MMCONF_MASK |
| 118 | hi_mmio_num = 0 |
| 123 | reg = Direct PCI access. This is used for PCI accesses in early boot beforethe PCI subsystem works. |
| 124 | If Not (reg & 3) Then Continue |
| 128 | reg = Direct PCI access. This is used for PCI accesses in early boot beforethe PCI subsystem works. |
| 136 | hi_mmio_num++ |
| 139 | If Not hi_mmio_num Then Go to out |
| 143 | sort(range, hi_mmio_num, size of range , cmp_range, NULL) |
| 147 | If start > base + MMCONF_SIZE Then Go to out |
| 151 | base = (start & MMCONF_MASK) - MMCONF_UNIT |
| 152 | If base > tom2 && BASE_VALID(base) Then Go to out |
| 154 | base = end + MMCONF_UNIT & MMCONF_MASK |
| 155 | If BASE_VALID(base) Then Go to out |
| 158 | When i < hi_mmio_num cycle |
| 159 | base = end + MMCONF_UNIT & MMCONF_MASK |
| 160 | val = start & MMCONF_MASK |
| 161 | If val >= base + MMCONF_SIZE && BASE_VALID(base) Then Go to out |
| 164 | Return |
| 166 | out : |
| 167 | fam10h_pci_mmconf_base = base |
| Name | Describe |
|---|---|
| fam10h_check_enable_mmcfg |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |