util/sconfig: Remove unused ioapic and irq keywords

Ioapic information in the devicetree was only used to set up mptables
but this generic driver was removed (ca5a793 drivers/generic/ioapic:
Drop poor implementation).

This removes the unused remainders from mainboard devicetrees.
Remove ioapic setup from sconfig.

Change-Id: Ib3fef0bf923ab3f02f3aeed2e55cf662a3dc3a1b
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71789
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
This commit is contained in:
Arthur Heymans 2023-01-10 15:22:58 +01:00 committed by Felix Held
parent 8b8400a889
commit e84b095d3a
12 changed files with 367 additions and 513 deletions

View File

@ -101,13 +101,6 @@ struct bus {
* combination:
*/
struct pci_irq_info {
unsigned int ioapic_irq_pin;
unsigned int ioapic_src_pin;
unsigned int ioapic_dst_id;
unsigned int ioapic_flags;
};
struct device {
DEVTREE_CONST struct bus *bus; /* bus this device is on, for bridge
* devices, it is the up stream bus */
@ -144,7 +137,6 @@ struct device {
DEVTREE_CONST struct bus *link_list;
#if !DEVTREE_EARLY
struct pci_irq_info pci_irq_info[4];
struct device_operations *ops;
struct chip_operations *chip_ops;
const char *name;

View File

@ -11,11 +11,9 @@ chip northbridge/intel/i945
end
device pci 01.0 on # i945 PCIe root port
subsystemid 0x1458 0x5000
ioapic_irq 2 INTA 0x10
end
device pci 02.0 on # vga controller
subsystemid 0x1458 0xd000
ioapic_irq 2 INTA 0x10
end
chip southbridge/intel/i82801gx
@ -38,34 +36,21 @@ chip northbridge/intel/i945
# SuperIO Power Management Events
register "gen1_dec" = "0x00040291"
device pci 1b.0 on # High Definition Audio
ioapic_irq 2 INTA 0x10
end
device pci 1b.0 on end # High Definition Audio
device pci 1c.0 on end # PCIe
device pci 1c.1 on end # PCIe
device pci 1c.2 off end # PCIe port 3
device pci 1c.3 off end # PCIe port 4
device pci 1d.0 on # USB UHCI
ioapic_irq 2 INTA 0x10
end
device pci 1d.1 on # USB UHCI
ioapic_irq 2 INTB 0x11
end
device pci 1d.2 on # USB UHCI
ioapic_irq 2 INTC 0x12
end
device pci 1d.3 on # USB UHCI
ioapic_irq 2 INTD 0x13
end
device pci 1d.7 on # USB2 EHCI
ioapic_irq 2 INTA 0x10
end
device pci 1d.0 on end # USB UHCI
device pci 1d.1 on end # USB UHCI
device pci 1d.2 on end # USB UHCI
device pci 1d.3 on end # USB UHCI
device pci 1d.7 on end # USB2 EHCI
device pci 1e.0 on end # PCI bridge
device pci 1e.2 off end # AC'97 Audio
device pci 1e.3 off end # AC'97 Modem
device pci 1f.0 on # LPC bridge
ioapic_irq 2 INTA 0x10
chip superio/winbond/w83627dhg
device pnp 2e.0 on # Floppy
io 0x60 = 0x3f0
@ -116,15 +101,9 @@ chip northbridge/intel/i945
device pnp 2e.c on end # PECI, SST
end
end
device pci 1f.1 on # IDE
ioapic_irq 2 INTB 0x11
end
device pci 1f.2 on # SATA
ioapic_irq 2 INTC 0x12
end
device pci 1f.3 on # SMBus
ioapic_irq 2 INTD 0x13
end
device pci 1f.1 on end # IDE
device pci 1f.2 on end # SATA
device pci 1f.3 on end # SMBus
end
end
end

View File

@ -14,11 +14,9 @@ chip northbridge/intel/i945
end
device pci 01.0 on # i945 PCIe root port
subsystemid 0x1458 0x5000
ioapic_irq 2 INTA 0x10
end
device pci 02.0 on # vga controller
subsystemid 0x1458 0xd000
ioapic_irq 2 INTA 0x10
end
chip southbridge/intel/i82801gx
@ -63,36 +61,23 @@ chip northbridge/intel/i945
register "gen1_dec" = "0x000c0801" # ???
register "gen2_dec" = "0x00040291" # Environment Controller
device pci 1b.0 on # High Definition Audio
ioapic_irq 2 INTA 0x10
end
device pci 1b.0 on end # High Definition Audio
device pci 1c.0 on end # PCIe
device pci 1c.1 on end # PCIe
device pci 1c.2 off end # PCIe port 3
device pci 1c.3 off end # PCIe port 4
device pci 1c.4 off end # PCIe port 5
device pci 1c.5 off end # PCIe port 6
device pci 1d.0 on # USB UHCI
ioapic_irq 2 INTA 0x10
end
device pci 1d.1 on # USB UHCI
ioapic_irq 2 INTB 0x11
end
device pci 1d.2 on # USB UHCI
ioapic_irq 2 INTC 0x12
end
device pci 1d.3 on # USB UHCI
ioapic_irq 2 INTD 0x13
end
device pci 1d.7 on # USB2 EHCI
ioapic_irq 2 INTA 0x10
end
device pci 1d.0 on end # USB UHCI
device pci 1d.1 on end # USB UHCI
device pci 1d.2 on end # USB UHCI
device pci 1d.3 on end # USB UHCI
device pci 1d.7 on end # USB2 EHCI
device pci 1e.0 on end # PCI bridge
device pci 1e.2 off end # AC'97 Audio
device pci 1e.3 off end # AC'97 Modem
device pci 1f.0 on # LPC bridge
ioapic_irq 2 INTA 0x10
chip superio/ite/it8718f # Super I/O
register "TMPIN1.mode" = "THERMAL_RESISTOR"
register "TMPIN2.mode" = "THERMAL_RESISTOR"
@ -158,15 +143,9 @@ chip northbridge/intel/i945
end
end
end
device pci 1f.1 on # IDE
ioapic_irq 2 INTB 0x11
end
device pci 1f.2 on # SATA
ioapic_irq 2 INTC 0x12
end
device pci 1f.3 on # SMBus
ioapic_irq 2 INTD 0x13
end
device pci 1f.1 on end # IDE
device pci 1f.2 on end # SATA
device pci 1f.3 on end # SMBus
end
end
end

View File

@ -32,7 +32,6 @@ chip northbridge/intel/gm45
end
device pci 1f.3 on # SMBus
subsystemid 0x17aa 0x20f9
ioapic_irq 2 INTC 0x12
# eeprom, 4 virtual devices, same chip
chip drivers/i2c/at24rf08c
device i2c 54 on end

View File

@ -25,7 +25,6 @@ chip northbridge/intel/gm45
end
device pci 1f.3 on # SMBus
subsystemid 0x17aa 0x20f9
ioapic_irq 2 INTC 0x12
# eeprom, 8 virtual devices, same chip
chip drivers/i2c/at24rf08c
device i2c 54 on end

View File

@ -349,8 +349,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 51
#define YY_END_OF_BUFFER 52
#define YY_NUM_RULES 48
#define YY_END_OF_BUFFER 49
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@ -358,31 +358,30 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static const flex_int16_t yy_accept[209] =
static const flex_int16_t yy_accept[197] =
{ 0,
0, 0, 52, 50, 1, 3, 50, 50, 50, 45,
45, 42, 46, 50, 46, 46, 46, 46, 46, 50,
50, 50, 50, 50, 50, 50, 50, 50, 43, 50,
1, 3, 50, 0, 50, 50, 0, 2, 45, 46,
50, 50, 50, 10, 50, 50, 46, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 35, 50, 50,
50, 50, 50, 16, 50, 50, 50, 50, 50, 50,
50, 50, 50, 49, 49, 50, 0, 44, 50, 50,
50, 25, 50, 50, 34, 39, 50, 50, 50, 50,
50, 23, 50, 50, 33, 50, 50, 50, 17, 7,
0, 0, 49, 47, 1, 3, 47, 47, 47, 43,
43, 40, 44, 44, 44, 44, 44, 44, 47, 47,
47, 47, 47, 47, 47, 47, 47, 41, 47, 1,
3, 47, 0, 47, 47, 0, 2, 43, 44, 47,
47, 10, 47, 47, 44, 47, 47, 47, 47, 47,
47, 47, 47, 47, 47, 34, 47, 47, 47, 47,
47, 16, 47, 47, 47, 47, 47, 47, 47, 47,
47, 46, 46, 47, 0, 42, 47, 47, 24, 47,
47, 33, 37, 47, 47, 47, 47, 47, 22, 47,
32, 47, 47, 47, 17, 7, 47, 20, 21, 47,
50, 20, 22, 50, 9, 50, 50, 29, 50, 30,
8, 50, 0, 47, 50, 4, 50, 50, 50, 50,
50, 50, 31, 50, 50, 50, 50, 32, 28, 50,
50, 50, 50, 50, 48, 48, 6, 50, 50, 50,
13, 50, 50, 50, 50, 50, 50, 50, 15, 50,
50, 50, 50, 5, 26, 50, 50, 18, 50, 21,
50, 14, 50, 50, 50, 50, 50, 27, 37, 50,
50, 50, 50, 50, 50, 50, 50, 50, 11, 50,
50, 50, 50, 12, 50, 19, 50, 50, 50, 50,
36, 50, 50, 50, 24, 50, 50, 38, 50, 50,
9, 47, 47, 28, 47, 29, 8, 47, 0, 47,
4, 47, 47, 47, 47, 47, 47, 30, 47, 47,
47, 31, 27, 47, 47, 47, 47, 47, 45, 45,
6, 47, 47, 47, 13, 47, 47, 47, 47, 47,
47, 15, 47, 47, 47, 47, 5, 25, 47, 47,
18, 47, 47, 14, 47, 47, 47, 47, 47, 26,
35, 47, 47, 47, 47, 47, 47, 47, 11, 47,
47, 47, 47, 12, 19, 47, 47, 47, 47, 47,
47, 47, 23, 47, 47, 36, 47, 47, 47, 47,
47, 47, 39, 47, 38, 0
50, 50, 50, 50, 41, 50, 40, 0
} ;
static const YY_CHAR yy_ec[256] =
@ -393,14 +392,14 @@ static const YY_CHAR yy_ec[256] =
1, 2, 1, 5, 6, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 7, 1, 8, 7, 9,
7, 7, 7, 7, 7, 7, 7, 1, 1, 1,
10, 1, 1, 1, 11, 11, 11, 11, 12, 12,
1, 1, 13, 1, 1, 1, 1, 14, 1, 1,
1, 1, 1, 15, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 16, 1, 17, 18, 19, 20,
10, 1, 1, 1, 11, 11, 11, 11, 11, 11,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 12, 1, 13, 14, 15, 16,
21, 22, 23, 24, 25, 1, 1, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 1, 1, 40, 1, 1, 1, 1, 1, 1,
17, 18, 19, 20, 21, 1, 1, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 1, 1, 36, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -417,148 +416,142 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
static const YY_CHAR yy_meta[41] =
static const YY_CHAR yy_meta[37] =
{ 0,
1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1, 1, 1, 1, 1, 1
} ;
static const flex_int16_t yy_base[216] =
static const flex_int16_t yy_base[204] =
{ 0,
0, 0, 282, 0, 279, 283, 277, 39, 43, 40,
241, 0, 46, 264, 56, 60, 64, 67, 72, 56,
252, 74, 71, 77, 82, 255, 81, 242, 0, 0,
272, 283, 110, 268, 115, 119, 269, 283, 0, 116,
119, 256, 245, 0, 244, 233, 125, 240, 235, 245,
243, 247, 234, 236, 240, 240, 234, 240, 225, 227,
229, 228, 230, 0, 109, 226, 220, 220, 122, 230,
222, 228, 128, 0, 283, 145, 240, 0, 233, 226,
212, 225, 215, 222, 0, 0, 212, 218, 215, 206,
214, 0, 212, 202, 0, 211, 201, 200, 0, 0,
0, 0, 265, 0, 262, 266, 260, 35, 39, 36,
228, 0, 48, 51, 55, 75, 61, 58, 22, 240,
62, 81, 75, 74, 243, 82, 230, 0, 0, 256,
266, 104, 252, 109, 74, 253, 266, 0, 108, 111,
234, 0, 233, 222, 123, 229, 224, 234, 232, 236,
223, 225, 229, 229, 223, 0, 215, 217, 219, 218,
220, 0, 66, 216, 210, 210, 115, 220, 212, 218,
121, 0, 266, 134, 226, 0, 217, 203, 216, 206,
213, 0, 0, 203, 209, 206, 197, 205, 0, 203,
0, 203, 193, 192, 0, 0, 195, 0, 0, 201,
203, 0, 0, 209, 0, 201, 200, 0, 191, 0,
0, 218, 217, 0, 188, 0, 201, 200, 193, 197,
187, 183, 0, 193, 181, 187, 194, 0, 0, 181,
188, 175, 178, 167, 0, 283, 0, 179, 183, 175,
0, 174, 176, 172, 174, 179, 163, 168, 0, 161,
161, 160, 157, 0, 0, 169, 171, 0, 155, 172,
158, 0, 165, 169, 150, 150, 157, 0, 0, 156,
148, 147, 23, 157, 143, 153, 143, 135, 0, 139,
133, 131, 136, 0, 125, 0, 119, 125, 128, 120,
0, 135, 101, 109, 0, 94, 88, 0, 72, 74,
0, 193, 192, 0, 183, 0, 0, 206, 205, 180,
0, 193, 192, 185, 189, 179, 175, 0, 185, 173,
187, 0, 0, 174, 181, 168, 171, 160, 0, 266,
0, 172, 176, 168, 0, 167, 169, 165, 167, 157,
162, 0, 155, 155, 154, 151, 0, 0, 163, 165,
0, 149, 153, 0, 160, 164, 145, 145, 152, 0,
0, 144, 143, 45, 153, 139, 149, 119, 0, 136,
130, 128, 133, 0, 0, 117, 123, 126, 118, 133,
114, 127, 0, 121, 129, 0, 116, 107, 103, 93,
63, 49, 0, 57, 0, 266, 45, 155, 157, 159,
70, 66, 49, 37, 0, 47, 0, 283, 49, 161,
163, 165, 167, 169, 171
161, 163, 165
} ;
static const flex_int16_t yy_def[216] =
static const flex_int16_t yy_def[204] =
{ 0,
208, 1, 208, 209, 208, 208, 209, 210, 211, 209,
10, 209, 10, 209, 10, 10, 10, 10, 10, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
208, 208, 210, 212, 213, 211, 214, 208, 10, 10,
10, 209, 209, 209, 209, 209, 10, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 208, 213, 215, 41, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
196, 1, 196, 197, 196, 196, 197, 198, 199, 197,
10, 197, 10, 10, 10, 10, 10, 10, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 196,
196, 198, 200, 201, 199, 202, 196, 10, 10, 10,
197, 197, 197, 197, 10, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 196, 201, 203, 40, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 208, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 208, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
197, 197, 197, 197, 197, 197, 197, 197, 196, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 196,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 0, 196, 196, 196, 196,
209, 209, 209, 209, 209, 209, 209, 0, 208, 208,
208, 208, 208, 208, 208
196, 196, 196
} ;
static const flex_int16_t yy_nxt[324] =
static const flex_int16_t yy_nxt[303] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 10, 12,
13, 13, 14, 4, 4, 4, 15, 13, 16, 17,
18, 19, 20, 21, 22, 4, 23, 4, 24, 25,
4, 26, 27, 4, 28, 4, 4, 4, 4, 29,
34, 34, 180, 35, 37, 38, 39, 39, 39, 30,
40, 40, 40, 40, 40, 181, 40, 40, 40, 40,
40, 40, 40, 40, 40, 207, 40, 40, 40, 206,
40, 40, 40, 40, 40, 40, 53, 205, 40, 40,
40, 43, 56, 45, 47, 54, 204, 60, 44, 46,
61, 203, 48, 202, 50, 49, 51, 62, 63, 201,
13, 4, 14, 13, 15, 16, 17, 18, 19, 20,
21, 4, 22, 4, 23, 24, 4, 25, 26, 4,
27, 4, 4, 4, 4, 28, 33, 33, 51, 34,
36, 37, 38, 38, 38, 29, 39, 52, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
170, 39, 39, 39, 39, 39, 39, 39, 39, 39,
54, 195, 41, 171, 43, 36, 37, 194, 49, 42,
44, 39, 39, 39, 48, 55, 56, 193, 64, 57,
50, 45, 61, 58, 96, 97, 59, 65, 62, 46,
66, 57, 58, 200, 64, 59, 65, 70, 52, 67,
71, 34, 34, 68, 74, 72, 77, 77, 199, 30,
37, 38, 40, 40, 40, 78, 78, 78, 198, 78,
78, 40, 40, 40, 197, 78, 78, 78, 78, 78,
78, 100, 101, 105, 106, 110, 77, 77, 111, 112,
196, 195, 194, 193, 192, 191, 190, 189, 188, 187,
83, 33, 33, 36, 36, 34, 34, 76, 76, 37,
37, 77, 77, 186, 185, 184, 183, 182, 179, 178,
177, 176, 175, 174, 173, 172, 171, 170, 169, 168,
167, 166, 165, 164, 163, 162, 161, 160, 159, 158,
63, 66, 47, 60, 68, 33, 33, 69, 72, 192,
75, 75, 70, 29, 39, 39, 39, 76, 76, 76,
191, 76, 190, 76, 76, 76, 76, 76, 76, 39,
39, 39, 101, 102, 106, 75, 75, 107, 108, 189,
188, 187, 186, 185, 184, 183, 182, 181, 180, 179,
178, 177, 176, 175, 80, 32, 32, 35, 35, 33,
33, 74, 74, 36, 36, 75, 75, 174, 173, 172,
169, 168, 167, 166, 165, 164, 163, 162, 161, 160,
159, 158, 157, 156, 155, 154, 153, 152, 151, 150,
149, 148, 147, 146, 145, 144, 143, 142, 141, 140,
157, 156, 155, 154, 153, 152, 151, 150, 149, 148,
147, 146, 145, 144, 143, 142, 141, 140, 139, 138,
137, 136, 135, 134, 133, 132, 131, 130, 129, 128,
127, 126, 125, 124, 123, 122, 121, 120, 119, 118,
117, 116, 115, 114, 113, 109, 108, 107, 104, 103,
102, 99, 98, 97, 96, 95, 94, 93, 92, 91,
90, 89, 88, 87, 86, 85, 84, 82, 81, 80,
79, 38, 75, 31, 73, 69, 55, 42, 41, 32,
31, 208, 3, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
139, 138, 137, 136, 135, 134, 133, 132, 131, 130,
129, 128, 127, 126, 125, 124, 123, 122, 121, 120,
119, 118, 117, 116, 115, 114, 113, 112, 111, 110,
109, 105, 104, 103, 100, 99, 98, 95, 94, 93,
92, 91, 90, 89, 88, 87, 86, 85, 84, 83,
82, 81, 79, 78, 77, 37, 73, 30, 71, 67,
53, 40, 31, 30, 196, 3, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208
196, 196
} ;
static const flex_int16_t yy_chk[324] =
static const flex_int16_t yy_chk[303] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8, 8, 173, 8, 9, 9, 10, 10, 10, 209,
10, 10, 13, 13, 13, 173, 10, 10, 10, 10,
10, 10, 15, 15, 15, 206, 16, 16, 16, 204,
17, 17, 17, 18, 18, 18, 20, 203, 19, 19,
19, 15, 22, 16, 17, 20, 202, 23, 15, 16,
23, 201, 17, 200, 18, 17, 19, 23, 24, 199,
1, 1, 1, 1, 1, 1, 8, 8, 19, 8,
9, 9, 10, 10, 10, 197, 10, 19, 10, 10,
10, 10, 10, 10, 13, 13, 13, 14, 14, 14,
164, 15, 15, 15, 18, 18, 18, 17, 17, 17,
21, 194, 14, 164, 15, 35, 35, 192, 18, 14,
15, 16, 16, 16, 17, 21, 21, 191, 24, 21,
18, 16, 23, 22, 63, 63, 22, 24, 23, 16,
25, 22, 22, 197, 24, 22, 24, 27, 19, 25,
27, 33, 33, 25, 33, 27, 35, 35, 196, 35,
36, 36, 40, 40, 40, 41, 41, 41, 194, 41,
41, 47, 47, 47, 193, 41, 41, 41, 41, 41,
41, 65, 65, 69, 69, 73, 76, 76, 73, 76,
192, 190, 189, 188, 187, 185, 183, 182, 181, 180,
47, 210, 210, 211, 211, 212, 212, 213, 213, 214,
214, 215, 215, 178, 177, 176, 175, 174, 172, 171,
170, 167, 166, 165, 164, 163, 161, 160, 159, 157,
156, 153, 152, 151, 150, 148, 147, 146, 145, 144,
23, 24, 16, 22, 26, 32, 32, 26, 32, 190,
34, 34, 26, 34, 39, 39, 39, 40, 40, 40,
189, 40, 188, 40, 40, 40, 40, 40, 40, 45,
45, 45, 67, 67, 71, 74, 74, 71, 74, 187,
185, 184, 182, 181, 180, 179, 178, 177, 176, 173,
172, 171, 170, 168, 45, 198, 198, 199, 199, 200,
200, 201, 201, 202, 202, 203, 203, 167, 166, 165,
163, 162, 159, 158, 157, 156, 155, 153, 152, 150,
149, 146, 145, 144, 143, 141, 140, 139, 138, 137,
136, 134, 133, 132, 128, 127, 126, 125, 124, 121,
143, 142, 140, 139, 138, 134, 133, 132, 131, 130,
127, 126, 125, 124, 122, 121, 120, 119, 118, 117,
115, 113, 112, 109, 107, 106, 104, 101, 98, 97,
96, 94, 93, 91, 90, 89, 88, 87, 84, 83,
82, 81, 80, 79, 77, 72, 71, 70, 68, 67,
66, 63, 62, 61, 60, 59, 58, 57, 56, 55,
54, 53, 52, 51, 50, 49, 48, 46, 45, 43,
42, 37, 34, 31, 28, 26, 21, 14, 11, 7,
5, 3, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
120, 119, 117, 116, 115, 114, 113, 112, 110, 109,
108, 105, 103, 102, 100, 97, 94, 93, 92, 90,
88, 87, 86, 85, 84, 81, 80, 79, 78, 77,
75, 70, 69, 68, 66, 65, 64, 61, 60, 59,
58, 57, 55, 54, 53, 52, 51, 50, 49, 48,
47, 46, 44, 43, 41, 36, 33, 30, 27, 25,
20, 11, 7, 5, 3, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208
196, 196
} ;
static yy_state_type yy_last_accepting_state;
@ -823,13 +816,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 209 )
if ( yy_current_state >= 197 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 283 );
while ( yy_base[yy_current_state] != 266 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@ -937,127 +930,115 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
{yylval.number=IOAPIC; return(BUS);}
{yylval.number=PNP; return(BUS);}
YY_BREAK
case 22:
YY_RULE_SETUP
{yylval.number=PNP; return(BUS);}
{yylval.number=I2C; return(BUS);}
YY_BREAK
case 23:
YY_RULE_SETUP
{yylval.number=I2C; return(BUS);}
{yylval.number=CPU_CLUSTER; return(BUS);}
YY_BREAK
case 24:
YY_RULE_SETUP
{yylval.number=CPU_CLUSTER; return(BUS);}
{yylval.number=CPU; return(BUS);}
YY_BREAK
case 25:
YY_RULE_SETUP
{yylval.number=CPU; return(BUS);}
{yylval.number=DOMAIN; return(BUS);}
YY_BREAK
case 26:
YY_RULE_SETUP
{yylval.number=DOMAIN; return(BUS);}
{yylval.number=GENERIC; return(BUS);}
YY_BREAK
case 27:
YY_RULE_SETUP
{yylval.number=GENERIC; return(BUS);}
{yylval.number=MMIO; return(BUS);}
YY_BREAK
case 28:
YY_RULE_SETUP
{yylval.number=MMIO; return(BUS);}
{yylval.number=SPI; return(BUS);}
YY_BREAK
case 29:
YY_RULE_SETUP
{yylval.number=SPI; return(BUS);}
{yylval.number=USB; return(BUS);}
YY_BREAK
case 30:
YY_RULE_SETUP
{yylval.number=USB; return(BUS);}
{yylval.number=GPIO; return(BUS);}
YY_BREAK
case 31:
YY_RULE_SETUP
{yylval.number=GPIO; return(BUS);}
{yylval.number=MDIO; return(BUS);}
YY_BREAK
case 32:
YY_RULE_SETUP
{yylval.number=MDIO; return(BUS);}
{yylval.number=IRQ; return(RESOURCE);}
YY_BREAK
case 33:
YY_RULE_SETUP
{yylval.number=IRQ; return(RESOURCE);}
{yylval.number=DRQ; return(RESOURCE);}
YY_BREAK
case 34:
YY_RULE_SETUP
{yylval.number=DRQ; return(RESOURCE);}
{yylval.number=IO; return(RESOURCE);}
YY_BREAK
case 35:
YY_RULE_SETUP
{yylval.number=IO; return(RESOURCE);}
{return(INHERIT);}
YY_BREAK
case 36:
YY_RULE_SETUP
{return(IOAPIC_IRQ);}
{return(SUBSYSTEMID);}
YY_BREAK
case 37:
YY_RULE_SETUP
{return(INHERIT);}
{return(END);}
YY_BREAK
case 38:
YY_RULE_SETUP
{return(SUBSYSTEMID);}
{return(SLOT_DESC);}
YY_BREAK
case 39:
YY_RULE_SETUP
{return(END);}
{return(SMBIOS_DEV_INFO);}
YY_BREAK
case 40:
YY_RULE_SETUP
{return(SLOT_DESC);}
{return(EQUALS);}
YY_BREAK
case 41:
YY_RULE_SETUP
{return(SMBIOS_DEV_INFO);}
{return(PIPE);}
YY_BREAK
case 42:
YY_RULE_SETUP
{return(EQUALS);}
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
YY_BREAK
case 43:
YY_RULE_SETUP
{return(PIPE);}
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
YY_BREAK
case 44:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
YY_BREAK
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 47:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
YY_BREAK
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 49:
/* rule 49 can match eol */
YY_RULE_SETUP
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
YY_BREAK
case 50:
YY_RULE_SETUP
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}
YY_BREAK
case 51:
case 48:
YY_RULE_SETUP
ECHO;
YY_BREAK
@ -1357,7 +1338,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 209 )
if ( yy_current_state >= 197 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@ -1385,11 +1366,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 209 )
if ( yy_current_state >= 197 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 208);
yy_is_jam = (yy_current_state == 196);
return yy_is_jam ? 0 : yy_current_state;
}

View File

@ -881,10 +881,6 @@ static struct device *new_device_with_path(struct bus *parent,
new_d->path = ".type=DEVICE_PATH_DOMAIN,{.domain={ .domain = 0x%x }}";
break;
case IOAPIC:
new_d->path = ".type=DEVICE_PATH_IOAPIC,{.ioapic={ .ioapic_id = 0x%x }}";
break;
case GENERIC:
new_d->path = ".type=DEVICE_PATH_GENERIC,{.generic={ .id = 0x%x, .subid = 0x%x }}";
break;
@ -1084,33 +1080,6 @@ void add_pci_subsystem_ids(struct bus *bus, int vendor, int device,
dev->inherit_subsystem = inherit;
}
void add_ioapic_info(struct bus *bus, int apicid, const char *_srcpin,
int irqpin)
{
int srcpin;
struct device *dev = bus->dev;
if (!_srcpin || strlen(_srcpin) < 4 || strncasecmp(_srcpin, "INT", 3) ||
_srcpin[3] < 'A' || _srcpin[3] > 'D') {
printf("ERROR: malformed ioapic_irq args: %s\n", _srcpin);
exit(1);
}
srcpin = _srcpin[3] - 'A';
if (dev->bustype != PCI && dev->bustype != DOMAIN) {
printf("ERROR: ioapic config only allowed for PCI devices\n");
exit(1);
}
if (srcpin > 3) {
printf("ERROR: srcpin '%d' invalid\n", srcpin);
exit(1);
}
dev->pci_irq_info[srcpin].ioapic_irq_pin = irqpin;
dev->pci_irq_info[srcpin].ioapic_dst_id = apicid;
}
static int dev_has_children(struct device *dev)
{
struct bus *bus = dev->bus;
@ -1269,7 +1238,6 @@ static struct chip_instance *get_chip_instance(const struct device *dev)
static void pass1(FILE *fil, FILE *head, struct device *ptr, struct device *next)
{
int pin;
struct chip_instance *chip_ins = get_chip_instance(ptr);
int has_children = dev_has_children(ptr);
@ -1333,17 +1301,6 @@ static void pass1(FILE *fil, FILE *head, struct device *ptr, struct device *next
if (ptr->probe)
fprintf(fil, "\t.probe_list = %s_probe_list,\n", ptr->name);
fprintf(fil, "#if !DEVTREE_EARLY\n");
for (pin = 0; pin < 4; pin++) {
if (ptr->pci_irq_info[pin].ioapic_irq_pin > 0)
fprintf(fil,
"\t.pci_irq_info[%d].ioapic_irq_pin = %d,\n",
pin, ptr->pci_irq_info[pin].ioapic_irq_pin);
if (ptr->pci_irq_info[pin].ioapic_dst_id > 0)
fprintf(fil,
"\t.pci_irq_info[%d].ioapic_dst_id = %d,\n",
pin, ptr->pci_irq_info[pin].ioapic_dst_id);
}
fprintf(fil, "\t.chip_ops = &%s_ops,\n",
chip_ins->chip->name_underscore);
if (chip_ins == &mainboard_instance)

View File

@ -24,11 +24,6 @@ struct reg {
struct reg *next;
};
struct pci_irq_info {
int ioapic_irq_pin;
int ioapic_dst_id;
};
struct fw_config_option;
struct fw_config_option {
const char *name;
@ -150,9 +145,6 @@ struct device {
/* Type of bus that exists under this device. */
int bustype;
/* PCI IRQ info. */
struct pci_irq_info pci_irq_info[4];
/* Pointer to bus of parent on which this device resides. */
struct bus *parent;
@ -210,9 +202,6 @@ void add_resource(struct bus *bus, int type, int index, int base);
void add_pci_subsystem_ids(struct bus *bus, int vendor, int device,
int inherit);
void add_ioapic_info(struct bus *bus, int apicid, const char *_srcpin,
int irqpin);
void add_slot_desc(struct bus *bus, char *type, char *length, char *designation,
char *data_width);

View File

@ -28,7 +28,6 @@ off {yylval.number=0; return(BOOL);}
hidden {yylval.number=3; return(STATUS);}
mandatory {yylval.number=5; return(STATUS);}
pci {yylval.number=PCI; return(BUS);}
ioapic {yylval.number=IOAPIC; return(BUS);}
pnp {yylval.number=PNP; return(BUS);}
i2c {yylval.number=I2C; return(BUS);}
cpu_cluster {yylval.number=CPU_CLUSTER; return(BUS);}
@ -43,7 +42,6 @@ mdio {yylval.number=MDIO; return(BUS);}
irq {yylval.number=IRQ; return(RESOURCE);}
drq {yylval.number=DRQ; return(RESOURCE);}
io {yylval.number=IO; return(RESOURCE);}
ioapic_irq {return(IOAPIC_IRQ);}
inherit {return(INHERIT);}
subsystemid {return(SUBSYSTEMID);}
end {return(END);}
@ -54,7 +52,6 @@ smbios_dev_info {return(SMBIOS_DEV_INFO);}
0x[0-9a-fA-F.]+ {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
[0-9.]+ {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
[0-9a-fA-F.]+ {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
INT[A-D] {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
\"\"[^\"]+\"\" {yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
\"[^\"]+\" {yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
[^ \n\t]+ {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}

View File

@ -142,54 +142,51 @@ enum yysymbol_kind_t
YYSYMBOL_NUMBER = 29, /* NUMBER */
YYSYMBOL_SUBSYSTEMID = 30, /* SUBSYSTEMID */
YYSYMBOL_INHERIT = 31, /* INHERIT */
YYSYMBOL_IOAPIC_IRQ = 32, /* IOAPIC_IRQ */
YYSYMBOL_IOAPIC = 33, /* IOAPIC */
YYSYMBOL_PCIINT = 34, /* PCIINT */
YYSYMBOL_GENERIC = 35, /* GENERIC */
YYSYMBOL_SPI = 36, /* SPI */
YYSYMBOL_USB = 37, /* USB */
YYSYMBOL_MMIO = 38, /* MMIO */
YYSYMBOL_GPIO = 39, /* GPIO */
YYSYMBOL_MDIO = 40, /* MDIO */
YYSYMBOL_FW_CONFIG_TABLE = 41, /* FW_CONFIG_TABLE */
YYSYMBOL_FW_CONFIG_FIELD = 42, /* FW_CONFIG_FIELD */
YYSYMBOL_FW_CONFIG_OPTION = 43, /* FW_CONFIG_OPTION */
YYSYMBOL_FW_CONFIG_PROBE = 44, /* FW_CONFIG_PROBE */
YYSYMBOL_PIPE = 45, /* PIPE */
YYSYMBOL_OPS = 46, /* OPS */
YYSYMBOL_YYACCEPT = 47, /* $accept */
YYSYMBOL_devtree = 48, /* devtree */
YYSYMBOL_chipchild_nondev = 49, /* chipchild_nondev */
YYSYMBOL_chipchild = 50, /* chipchild */
YYSYMBOL_chipchildren = 51, /* chipchildren */
YYSYMBOL_chipchildren_dev = 52, /* chipchildren_dev */
YYSYMBOL_devicechildren = 53, /* devicechildren */
YYSYMBOL_chip = 54, /* chip */
YYSYMBOL_55_1 = 55, /* @1 */
YYSYMBOL_device = 56, /* device */
YYSYMBOL_57_2 = 57, /* @2 */
YYSYMBOL_58_3 = 58, /* @3 */
YYSYMBOL_alias = 59, /* alias */
YYSYMBOL_status = 60, /* status */
YYSYMBOL_resource = 61, /* resource */
YYSYMBOL_reference = 62, /* reference */
YYSYMBOL_registers = 63, /* registers */
YYSYMBOL_subsystemid = 64, /* subsystemid */
YYSYMBOL_ioapic_irq = 65, /* ioapic_irq */
YYSYMBOL_smbios_slot_desc = 66, /* smbios_slot_desc */
YYSYMBOL_smbios_dev_info = 67, /* smbios_dev_info */
YYSYMBOL_fw_config_table = 68, /* fw_config_table */
YYSYMBOL_fw_config_table_children = 69, /* fw_config_table_children */
YYSYMBOL_fw_config_field_children = 70, /* fw_config_field_children */
YYSYMBOL_fw_config_field_bits = 71, /* fw_config_field_bits */
YYSYMBOL_fw_config_field_bits_repeating = 72, /* fw_config_field_bits_repeating */
YYSYMBOL_fw_config_field = 73, /* fw_config_field */
YYSYMBOL_74_4 = 74, /* $@4 */
YYSYMBOL_75_5 = 75, /* $@5 */
YYSYMBOL_76_6 = 76, /* $@6 */
YYSYMBOL_fw_config_option = 77, /* fw_config_option */
YYSYMBOL_fw_config_probe = 78, /* fw_config_probe */
YYSYMBOL_ops = 79 /* ops */
YYSYMBOL_PCIINT = 32, /* PCIINT */
YYSYMBOL_GENERIC = 33, /* GENERIC */
YYSYMBOL_SPI = 34, /* SPI */
YYSYMBOL_USB = 35, /* USB */
YYSYMBOL_MMIO = 36, /* MMIO */
YYSYMBOL_GPIO = 37, /* GPIO */
YYSYMBOL_MDIO = 38, /* MDIO */
YYSYMBOL_FW_CONFIG_TABLE = 39, /* FW_CONFIG_TABLE */
YYSYMBOL_FW_CONFIG_FIELD = 40, /* FW_CONFIG_FIELD */
YYSYMBOL_FW_CONFIG_OPTION = 41, /* FW_CONFIG_OPTION */
YYSYMBOL_FW_CONFIG_PROBE = 42, /* FW_CONFIG_PROBE */
YYSYMBOL_PIPE = 43, /* PIPE */
YYSYMBOL_OPS = 44, /* OPS */
YYSYMBOL_YYACCEPT = 45, /* $accept */
YYSYMBOL_devtree = 46, /* devtree */
YYSYMBOL_chipchild_nondev = 47, /* chipchild_nondev */
YYSYMBOL_chipchild = 48, /* chipchild */
YYSYMBOL_chipchildren = 49, /* chipchildren */
YYSYMBOL_chipchildren_dev = 50, /* chipchildren_dev */
YYSYMBOL_devicechildren = 51, /* devicechildren */
YYSYMBOL_chip = 52, /* chip */
YYSYMBOL_53_1 = 53, /* @1 */
YYSYMBOL_device = 54, /* device */
YYSYMBOL_55_2 = 55, /* @2 */
YYSYMBOL_56_3 = 56, /* @3 */
YYSYMBOL_alias = 57, /* alias */
YYSYMBOL_status = 58, /* status */
YYSYMBOL_resource = 59, /* resource */
YYSYMBOL_reference = 60, /* reference */
YYSYMBOL_registers = 61, /* registers */
YYSYMBOL_subsystemid = 62, /* subsystemid */
YYSYMBOL_smbios_slot_desc = 63, /* smbios_slot_desc */
YYSYMBOL_smbios_dev_info = 64, /* smbios_dev_info */
YYSYMBOL_fw_config_table = 65, /* fw_config_table */
YYSYMBOL_fw_config_table_children = 66, /* fw_config_table_children */
YYSYMBOL_fw_config_field_children = 67, /* fw_config_field_children */
YYSYMBOL_fw_config_field_bits = 68, /* fw_config_field_bits */
YYSYMBOL_fw_config_field_bits_repeating = 69, /* fw_config_field_bits_repeating */
YYSYMBOL_fw_config_field = 70, /* fw_config_field */
YYSYMBOL_71_4 = 71, /* $@4 */
YYSYMBOL_72_5 = 72, /* $@5 */
YYSYMBOL_73_6 = 73, /* $@6 */
YYSYMBOL_fw_config_option = 74, /* fw_config_option */
YYSYMBOL_fw_config_probe = 75, /* fw_config_probe */
YYSYMBOL_ops = 76 /* ops */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@ -517,19 +514,19 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 113
#define YYLAST 94
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 47
#define YYNTOKENS 45
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 33
#define YYNNTS 32
/* YYNRULES -- Number of rules. */
#define YYNRULES 62
#define YYNRULES 60
/* YYNSTATES -- Number of states. */
#define YYNSTATES 108
#define YYNSTATES 103
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 301
#define YYMAXUTOK 299
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@ -572,8 +569,7 @@ static const yytype_int8 yytranslate[] =
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, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46
35, 36, 37, 38, 39, 40, 41, 42, 43, 44
};
#if YYDEBUG
@ -582,11 +578,11 @@ static const yytype_uint8 yyrline[] =
{
0, 26, 26, 26, 26, 29, 29, 29, 30, 30,
31, 31, 32, 32, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 36, 36, 45, 45, 53,
53, 61, 63, 67, 67, 69, 72, 75, 78, 81,
84, 87, 90, 93, 96, 99, 103, 106, 106, 109,
109, 112, 118, 118, 121, 120, 125, 125, 133, 133,
139, 143, 146
34, 34, 34, 34, 36, 36, 45, 45, 53, 53,
61, 63, 67, 67, 69, 72, 75, 78, 81, 84,
87, 90, 93, 96, 100, 103, 103, 106, 106, 109,
115, 115, 118, 117, 122, 122, 130, 130, 136, 140,
143
};
#endif
@ -606,13 +602,12 @@ static const char *const yytname[] =
"REGISTER", "ALIAS", "REFERENCE", "ASSOCIATION", "BOOL", "STATUS",
"MANDATORY", "BUS", "RESOURCE", "END", "EQUALS", "HEX", "STRING", "PCI",
"PNP", "I2C", "CPU_CLUSTER", "CPU", "DOMAIN", "IRQ", "DRQ", "SLOT_DESC",
"SMBIOS_DEV_INFO", "IO", "NUMBER", "SUBSYSTEMID", "INHERIT",
"IOAPIC_IRQ", "IOAPIC", "PCIINT", "GENERIC", "SPI", "USB", "MMIO",
"GPIO", "MDIO", "FW_CONFIG_TABLE", "FW_CONFIG_FIELD", "FW_CONFIG_OPTION",
"FW_CONFIG_PROBE", "PIPE", "OPS", "$accept", "devtree",
"chipchild_nondev", "chipchild", "chipchildren", "chipchildren_dev",
"devicechildren", "chip", "@1", "device", "@2", "@3", "alias", "status",
"resource", "reference", "registers", "subsystemid", "ioapic_irq",
"SMBIOS_DEV_INFO", "IO", "NUMBER", "SUBSYSTEMID", "INHERIT", "PCIINT",
"GENERIC", "SPI", "USB", "MMIO", "GPIO", "MDIO", "FW_CONFIG_TABLE",
"FW_CONFIG_FIELD", "FW_CONFIG_OPTION", "FW_CONFIG_PROBE", "PIPE", "OPS",
"$accept", "devtree", "chipchild_nondev", "chipchild", "chipchildren",
"chipchildren_dev", "devicechildren", "chip", "@1", "device", "@2", "@3",
"alias", "status", "resource", "reference", "registers", "subsystemid",
"smbios_slot_desc", "smbios_dev_info", "fw_config_table",
"fw_config_table_children", "fw_config_field_children",
"fw_config_field_bits", "fw_config_field_bits_repeating",
@ -627,7 +622,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
#define YYPACT_NINF (-49)
#define YYPACT_NINF (-51)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@ -641,17 +636,17 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int8 yypact[] =
{
-49, 6, -49, 8, -49, -49, -49, -49, 1, 45,
-49, 18, -49, 12, 24, 25, 45, 3, -49, -49,
-49, -49, -6, 37, 26, 41, 49, -49, -49, 45,
29, 14, -49, 19, 55, 46, 47, -49, -49, -49,
-49, -49, 33, -49, -12, -49, -49, -49, 50, 19,
-49, -49, -7, 29, 14, -49, -49, 51, -49, -49,
-49, -49, -49, -49, 2, 40, 0, -49, -49, -49,
42, -49, 53, 43, 44, 48, 57, 58, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, 7, 61,
62, 63, 52, 32, 65, -49, -49, 54, 67, -49,
59, 56, -49, -49, 69, -49, -49, -49
-51, 12, -51, 6, -51, -51, -51, -51, -3, 49,
-51, 7, -51, 10, 23, 24, 49, 14, -51, -51,
-51, -51, 16, 26, 17, 33, 42, -51, -51, 49,
28, 18, -51, 11, 53, 38, 43, -51, -51, -51,
-51, -51, 34, -51, -12, -51, -51, -51, 45, 11,
-51, -51, -8, 28, 18, -51, -51, 47, -51, -51,
-51, -51, -51, -51, -7, 37, 0, -51, -51, -51,
39, -51, 50, 40, 41, 54, 55, -51, -51, -51,
-51, -51, -51, -51, -51, -51, 5, 58, 57, 59,
46, 60, -51, -51, 51, 61, -51, 48, -51, -51,
64, -51, -51
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@ -659,35 +654,35 @@ static const yytype_int8 yypact[] =
means the default is an error. */
static const yytype_int8 yydefact[] =
{
2, 0, 1, 0, 48, 3, 4, 25, 0, 0,
46, 0, 47, 0, 0, 0, 0, 0, 5, 11,
7, 6, 58, 0, 0, 0, 0, 13, 26, 12,
56, 53, 50, 0, 31, 0, 0, 9, 10, 8,
51, 50, 0, 54, 0, 33, 34, 29, 0, 0,
37, 36, 0, 0, 53, 50, 59, 0, 49, 24,
32, 27, 57, 52, 0, 0, 0, 24, 55, 60,
0, 30, 0, 0, 0, 0, 0, 0, 15, 14,
16, 21, 17, 18, 19, 20, 22, 23, 0, 0,
0, 45, 0, 0, 0, 62, 28, 0, 43, 44,
38, 0, 61, 35, 42, 39, 40, 41
2, 0, 1, 0, 46, 3, 4, 24, 0, 0,
44, 0, 45, 0, 0, 0, 0, 0, 5, 11,
7, 6, 56, 0, 0, 0, 0, 13, 25, 12,
54, 51, 48, 0, 30, 0, 0, 9, 10, 8,
49, 48, 0, 52, 0, 32, 33, 28, 0, 0,
36, 35, 0, 0, 51, 48, 57, 0, 47, 23,
31, 26, 55, 50, 0, 0, 0, 23, 53, 58,
0, 29, 0, 0, 0, 0, 0, 15, 14, 16,
20, 17, 18, 19, 21, 22, 0, 0, 0, 43,
0, 0, 60, 27, 0, 41, 42, 37, 59, 34,
40, 38, 39
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
-49, -49, 60, -49, -49, 72, 11, -1, -49, -28,
-49, -49, -49, 64, -49, -49, -48, -49, -49, -49,
-49, -49, -49, -33, 66, 38, -49, -49, -49, -49,
-49, -49, -49
-51, -51, 62, -51, -51, 66, 19, -1, -51, -28,
-51, -51, -51, 35, -51, -51, -50, -51, -51, -51,
-51, -51, -16, 52, 29, -51, -51, -51, -51, -51,
-51, -51
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] =
{
0, 1, 16, 38, 29, 17, 66, 18, 9, 19,
67, 59, 49, 47, 80, 20, 21, 82, 83, 84,
85, 6, 8, 44, 31, 43, 12, 55, 41, 32,
58, 86, 87
67, 59, 49, 47, 79, 20, 21, 81, 82, 83,
6, 8, 44, 31, 43, 12, 55, 41, 32, 58,
84, 85
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@ -695,63 +690,59 @@ static const yytype_int8 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int8 yytable[] =
{
5, 39, 56, 3, 13, 14, 2, 62, 52, 3,
3, 13, 14, 70, 71, 10, 68, 28, 81, 23,
70, 96, 64, 30, 24, 7, 72, 73, 45, 46,
74, 57, 75, 72, 73, 22, 57, 74, 79, 75,
81, 25, 26, 11, 76, 57, 77, 4, 3, 13,
14, 76, 15, 77, 33, 34, 35, 36, 40, 42,
79, 48, 53, 50, 51, 78, 101, 60, 65, 69,
90, 89, 91, 92, 94, 95, 97, 93, 88, 98,
99, 100, 102, 103, 104, 106, 107, 78, 27, 37,
105, 0, 63, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
0, 0, 0, 61
5, 39, 56, 3, 13, 14, 62, 68, 3, 13,
14, 10, 2, 70, 71, 3, 80, 23, 70, 93,
45, 46, 24, 7, 22, 52, 72, 73, 28, 57,
74, 72, 73, 57, 57, 74, 80, 11, 78, 64,
25, 26, 75, 33, 76, 30, 34, 75, 35, 76,
36, 4, 3, 13, 14, 50, 15, 40, 78, 48,
51, 42, 60, 53, 65, 77, 69, 88, 87, 89,
90, 91, 92, 94, 95, 97, 96, 98, 100, 101,
99, 102, 27, 63, 61, 77, 86, 0, 0, 0,
0, 37, 0, 0, 54
};
static const yytype_int8 yycheck[] =
{
1, 29, 14, 3, 4, 5, 0, 14, 41, 3,
3, 4, 5, 13, 14, 14, 14, 14, 66, 7,
13, 14, 55, 29, 12, 17, 26, 27, 9, 10,
30, 43, 32, 26, 27, 17, 43, 30, 66, 32,
88, 17, 17, 42, 44, 43, 46, 41, 3, 4,
5, 44, 7, 46, 17, 29, 15, 8, 29, 45,
88, 6, 29, 17, 17, 66, 34, 17, 17, 29,
17, 29, 29, 29, 17, 17, 15, 29, 67, 17,
17, 29, 17, 29, 17, 29, 17, 88, 16, 29,
31, -1, 54, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 42, -1,
-1, -1, -1, 49
1, 29, 14, 3, 4, 5, 14, 14, 3, 4,
5, 14, 0, 13, 14, 3, 66, 7, 13, 14,
9, 10, 12, 17, 17, 41, 26, 27, 14, 41,
30, 26, 27, 41, 41, 30, 86, 40, 66, 55,
17, 17, 42, 17, 44, 29, 29, 42, 15, 44,
8, 39, 3, 4, 5, 17, 7, 29, 86, 6,
17, 43, 17, 29, 17, 66, 29, 17, 29, 29,
29, 17, 17, 15, 17, 29, 17, 17, 17, 31,
29, 17, 16, 54, 49, 86, 67, -1, -1, -1,
-1, 29, -1, -1, 42
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_int8 yystos[] =
{
0, 48, 0, 3, 41, 54, 68, 17, 69, 55,
14, 42, 73, 4, 5, 7, 49, 52, 54, 56,
62, 63, 17, 7, 12, 17, 17, 52, 14, 51,
29, 71, 76, 17, 29, 15, 8, 49, 50, 56,
29, 75, 45, 72, 70, 9, 10, 60, 6, 59,
17, 17, 70, 29, 71, 74, 14, 43, 77, 58,
17, 60, 14, 72, 70, 17, 53, 57, 14, 29,
13, 14, 26, 27, 30, 32, 44, 46, 54, 56,
61, 63, 64, 65, 66, 67, 78, 79, 53, 29,
17, 29, 29, 29, 17, 17, 14, 15, 17, 17,
29, 34, 17, 29, 17, 31, 29, 17
0, 46, 0, 3, 39, 52, 65, 17, 66, 53,
14, 40, 70, 4, 5, 7, 47, 50, 52, 54,
60, 61, 17, 7, 12, 17, 17, 50, 14, 49,
29, 68, 73, 17, 29, 15, 8, 47, 48, 54,
29, 72, 43, 69, 67, 9, 10, 58, 6, 57,
17, 17, 67, 29, 68, 71, 14, 41, 74, 56,
17, 58, 14, 69, 67, 17, 51, 55, 14, 29,
13, 14, 26, 27, 30, 42, 44, 52, 54, 59,
61, 62, 63, 64, 75, 76, 51, 29, 17, 29,
29, 17, 17, 14, 15, 17, 17, 29, 17, 29,
17, 31, 17
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int8 yyr1[] =
{
0, 47, 48, 48, 48, 49, 49, 49, 50, 50,
51, 51, 52, 52, 53, 53, 53, 53, 53, 53,
53, 53, 53, 53, 53, 55, 54, 57, 56, 58,
56, 59, 59, 60, 60, 61, 62, 63, 64, 64,
65, 66, 66, 66, 67, 67, 68, 69, 69, 70,
70, 71, 72, 72, 74, 73, 75, 73, 76, 73,
77, 78, 79
0, 45, 46, 46, 46, 47, 47, 47, 48, 48,
49, 49, 50, 50, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 53, 52, 55, 54, 56, 54,
57, 57, 58, 58, 59, 60, 61, 62, 62, 63,
63, 63, 64, 64, 65, 66, 66, 67, 67, 68,
69, 69, 71, 70, 72, 70, 73, 70, 74, 75,
76
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
@ -759,11 +750,11 @@ static const yytype_int8 yyr2[] =
{
0, 2, 0, 2, 2, 1, 1, 1, 1, 1,
2, 0, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 0, 0, 5, 0, 8, 0,
7, 0, 2, 1, 1, 4, 4, 4, 3, 4,
4, 5, 4, 3, 3, 2, 3, 2, 0, 2,
0, 2, 3, 0, 0, 7, 0, 6, 0, 5,
3, 3, 2
2, 2, 2, 0, 0, 5, 0, 8, 0, 7,
0, 2, 1, 1, 4, 4, 4, 3, 4, 5,
4, 3, 3, 2, 3, 2, 0, 2, 0, 2,
3, 0, 0, 7, 0, 6, 0, 5, 3, 3,
2
};
@ -1230,7 +1221,7 @@ yyreduce:
{ cur_parent = root_parent; }
break;
case 25: /* @1: %empty */
case 24: /* @1: %empty */
{
(yyval.chip_instance) = new_chip_instance((yyvsp[0].string));
chip_enqueue_tail(cur_chip_instance);
@ -1238,113 +1229,109 @@ yyreduce:
}
break;
case 26: /* chip: CHIP STRING @1 chipchildren_dev END */
case 25: /* chip: CHIP STRING @1 chipchildren_dev END */
{
cur_chip_instance = chip_dequeue_tail();
}
break;
case 27: /* @2: %empty */
case 26: /* @2: %empty */
{
(yyval.dev) = new_device_raw(cur_parent, cur_chip_instance, (yyvsp[-3].number), (yyvsp[-2].string), (yyvsp[-1].string), (yyvsp[0].number));
cur_parent = (yyval.dev)->last_bus;
}
break;
case 28: /* device: DEVICE BUS NUMBER alias status @2 devicechildren END */
case 27: /* device: DEVICE BUS NUMBER alias status @2 devicechildren END */
{
cur_parent = (yyvsp[-2].dev)->parent;
}
break;
case 29: /* @3: %empty */
case 28: /* @3: %empty */
{
(yyval.dev) = new_device_reference(cur_parent, cur_chip_instance, (yyvsp[-1].string), (yyvsp[0].number));
cur_parent = (yyval.dev)->last_bus;
}
break;
case 30: /* device: DEVICE REFERENCE STRING status @3 devicechildren END */
case 29: /* device: DEVICE REFERENCE STRING status @3 devicechildren END */
{
cur_parent = (yyvsp[-2].dev)->parent;
}
break;
case 31: /* alias: %empty */
case 30: /* alias: %empty */
{
(yyval.string) = NULL;
}
break;
case 32: /* alias: ALIAS STRING */
case 31: /* alias: ALIAS STRING */
{
(yyval.string) = (yyvsp[0].string);
}
break;
case 35: /* resource: RESOURCE NUMBER EQUALS NUMBER */
case 34: /* resource: RESOURCE NUMBER EQUALS NUMBER */
{ add_resource(cur_parent, (yyvsp[-3].number), strtol((yyvsp[-2].string), NULL, 0), strtol((yyvsp[0].string), NULL, 0)); }
break;
case 36: /* reference: REFERENCE STRING ASSOCIATION STRING */
case 35: /* reference: REFERENCE STRING ASSOCIATION STRING */
{ add_reference(cur_chip_instance, (yyvsp[0].string), (yyvsp[-2].string)); }
break;
case 37: /* registers: REGISTER STRING EQUALS STRING */
case 36: /* registers: REGISTER STRING EQUALS STRING */
{ add_register(cur_chip_instance, (yyvsp[-2].string), (yyvsp[0].string)); }
break;
case 38: /* subsystemid: SUBSYSTEMID NUMBER NUMBER */
case 37: /* subsystemid: SUBSYSTEMID NUMBER NUMBER */
{ add_pci_subsystem_ids(cur_parent, strtol((yyvsp[-1].string), NULL, 16), strtol((yyvsp[0].string), NULL, 16), 0); }
break;
case 39: /* subsystemid: SUBSYSTEMID NUMBER NUMBER INHERIT */
case 38: /* subsystemid: SUBSYSTEMID NUMBER NUMBER INHERIT */
{ add_pci_subsystem_ids(cur_parent, strtol((yyvsp[-2].string), NULL, 16), strtol((yyvsp[-1].string), NULL, 16), 1); }
break;
case 40: /* ioapic_irq: IOAPIC_IRQ NUMBER PCIINT NUMBER */
{ add_ioapic_info(cur_parent, strtol((yyvsp[-2].string), NULL, 16), (yyvsp[-1].string), strtol((yyvsp[0].string), NULL, 16)); }
break;
case 41: /* smbios_slot_desc: SLOT_DESC STRING STRING STRING STRING */
case 39: /* smbios_slot_desc: SLOT_DESC STRING STRING STRING STRING */
{ add_slot_desc(cur_parent, (yyvsp[-3].string), (yyvsp[-2].string), (yyvsp[-1].string), (yyvsp[0].string)); }
break;
case 42: /* smbios_slot_desc: SLOT_DESC STRING STRING STRING */
case 40: /* smbios_slot_desc: SLOT_DESC STRING STRING STRING */
{ add_slot_desc(cur_parent, (yyvsp[-2].string), (yyvsp[-1].string), (yyvsp[0].string), NULL); }
break;
case 43: /* smbios_slot_desc: SLOT_DESC STRING STRING */
case 41: /* smbios_slot_desc: SLOT_DESC STRING STRING */
{ add_slot_desc(cur_parent, (yyvsp[-1].string), (yyvsp[0].string), NULL, NULL); }
break;
case 44: /* smbios_dev_info: SMBIOS_DEV_INFO NUMBER STRING */
case 42: /* smbios_dev_info: SMBIOS_DEV_INFO NUMBER STRING */
{ add_smbios_dev_info(cur_parent, strtol((yyvsp[-1].string), NULL, 0), (yyvsp[0].string)); }
break;
case 45: /* smbios_dev_info: SMBIOS_DEV_INFO NUMBER */
case 43: /* smbios_dev_info: SMBIOS_DEV_INFO NUMBER */
{ add_smbios_dev_info(cur_parent, strtol((yyvsp[0].string), NULL, 0), NULL); }
break;
case 46: /* fw_config_table: FW_CONFIG_TABLE fw_config_table_children END */
case 44: /* fw_config_table: FW_CONFIG_TABLE fw_config_table_children END */
{ }
break;
case 51: /* fw_config_field_bits: NUMBER NUMBER */
case 49: /* fw_config_field_bits: NUMBER NUMBER */
{
append_fw_config_bits(&cur_bits, strtoul((yyvsp[-1].string), NULL, 0), strtoul((yyvsp[0].string), NULL, 0));
}
break;
case 54: /* $@4: %empty */
case 52: /* $@4: %empty */
{ cur_field = new_fw_config_field((yyvsp[-2].string), cur_bits); }
break;
case 55: /* fw_config_field: FW_CONFIG_FIELD STRING fw_config_field_bits fw_config_field_bits_repeating $@4 fw_config_field_children END */
case 53: /* fw_config_field: FW_CONFIG_FIELD STRING fw_config_field_bits fw_config_field_bits_repeating $@4 fw_config_field_children END */
{ cur_bits = NULL; }
break;
case 56: /* $@5: %empty */
case 54: /* $@5: %empty */
{
cur_bits = NULL;
append_fw_config_bits(&cur_bits, strtoul((yyvsp[0].string), NULL, 0), strtoul((yyvsp[0].string), NULL, 0));
@ -1352,29 +1339,29 @@ yyreduce:
}
break;
case 57: /* fw_config_field: FW_CONFIG_FIELD STRING NUMBER $@5 fw_config_field_children END */
case 55: /* fw_config_field: FW_CONFIG_FIELD STRING NUMBER $@5 fw_config_field_children END */
{ cur_bits = NULL; }
break;
case 58: /* $@6: %empty */
case 56: /* $@6: %empty */
{
cur_field = get_fw_config_field((yyvsp[0].string));
}
break;
case 59: /* fw_config_field: FW_CONFIG_FIELD STRING $@6 fw_config_field_children END */
case 57: /* fw_config_field: FW_CONFIG_FIELD STRING $@6 fw_config_field_children END */
{ cur_bits = NULL; }
break;
case 60: /* fw_config_option: FW_CONFIG_OPTION STRING NUMBER */
case 58: /* fw_config_option: FW_CONFIG_OPTION STRING NUMBER */
{ add_fw_config_option(cur_field, (yyvsp[-1].string), strtoull((yyvsp[0].string), NULL, 0)); }
break;
case 61: /* fw_config_probe: FW_CONFIG_PROBE STRING STRING */
case 59: /* fw_config_probe: FW_CONFIG_PROBE STRING STRING */
{ add_fw_config_probe(cur_parent, (yyvsp[-1].string), (yyvsp[0].string)); }
break;
case 62: /* ops: OPS STRING */
case 60: /* ops: OPS STRING */
{ add_device_ops(cur_parent, (yyvsp[0].string)); }
break;

View File

@ -83,21 +83,19 @@ extern int yydebug;
NUMBER = 284, /* NUMBER */
SUBSYSTEMID = 285, /* SUBSYSTEMID */
INHERIT = 286, /* INHERIT */
IOAPIC_IRQ = 287, /* IOAPIC_IRQ */
IOAPIC = 288, /* IOAPIC */
PCIINT = 289, /* PCIINT */
GENERIC = 290, /* GENERIC */
SPI = 291, /* SPI */
USB = 292, /* USB */
MMIO = 293, /* MMIO */
GPIO = 294, /* GPIO */
MDIO = 295, /* MDIO */
FW_CONFIG_TABLE = 296, /* FW_CONFIG_TABLE */
FW_CONFIG_FIELD = 297, /* FW_CONFIG_FIELD */
FW_CONFIG_OPTION = 298, /* FW_CONFIG_OPTION */
FW_CONFIG_PROBE = 299, /* FW_CONFIG_PROBE */
PIPE = 300, /* PIPE */
OPS = 301 /* OPS */
PCIINT = 287, /* PCIINT */
GENERIC = 288, /* GENERIC */
SPI = 289, /* SPI */
USB = 290, /* USB */
MMIO = 291, /* MMIO */
GPIO = 292, /* GPIO */
MDIO = 293, /* MDIO */
FW_CONFIG_TABLE = 294, /* FW_CONFIG_TABLE */
FW_CONFIG_FIELD = 295, /* FW_CONFIG_FIELD */
FW_CONFIG_OPTION = 296, /* FW_CONFIG_OPTION */
FW_CONFIG_PROBE = 297, /* FW_CONFIG_PROBE */
PIPE = 298, /* PIPE */
OPS = 299 /* OPS */
};
typedef enum yytokentype yytoken_kind_t;
#endif

View File

@ -21,7 +21,7 @@ static struct fw_config_field_bits *cur_bits;
uint64_t number;
}
%token CHIP DEVICE REGISTER ALIAS REFERENCE ASSOCIATION BOOL STATUS MANDATORY BUS RESOURCE END EQUALS HEX STRING PCI PNP I2C CPU_CLUSTER CPU DOMAIN IRQ DRQ SLOT_DESC SMBIOS_DEV_INFO IO NUMBER SUBSYSTEMID INHERIT IOAPIC_IRQ IOAPIC PCIINT GENERIC SPI USB MMIO GPIO MDIO FW_CONFIG_TABLE FW_CONFIG_FIELD FW_CONFIG_OPTION FW_CONFIG_PROBE PIPE OPS
%token CHIP DEVICE REGISTER ALIAS REFERENCE ASSOCIATION BOOL STATUS MANDATORY BUS RESOURCE END EQUALS HEX STRING PCI PNP I2C CPU_CLUSTER CPU DOMAIN IRQ DRQ SLOT_DESC SMBIOS_DEV_INFO IO NUMBER SUBSYSTEMID INHERIT PCIINT GENERIC SPI USB MMIO GPIO MDIO FW_CONFIG_TABLE FW_CONFIG_FIELD FW_CONFIG_OPTION FW_CONFIG_PROBE PIPE OPS
%%
devtree: { cur_parent = root_parent; } | devtree chip | devtree fw_config_table;
@ -31,7 +31,7 @@ chipchild: device | chipchild_nondev;
chipchildren: chipchildren chipchild | /* empty */ ;
chipchildren_dev: device chipchildren | chipchild_nondev chipchildren_dev;
devicechildren: devicechildren device | devicechildren chip | devicechildren resource | devicechildren subsystemid | devicechildren ioapic_irq | devicechildren smbios_slot_desc | devicechildren smbios_dev_info | devicechildren registers | devicechildren fw_config_probe | devicechildren ops | /* empty */ ;
devicechildren: devicechildren device | devicechildren chip | devicechildren resource | devicechildren subsystemid | devicechildren smbios_slot_desc | devicechildren smbios_dev_info | devicechildren registers | devicechildren fw_config_probe | devicechildren ops | /* empty */ ;
chip: CHIP STRING /* == path */ {
$<chip_instance>$ = new_chip_instance($<string>2);
@ -81,9 +81,6 @@ subsystemid: SUBSYSTEMID NUMBER NUMBER
subsystemid: SUBSYSTEMID NUMBER NUMBER INHERIT
{ add_pci_subsystem_ids(cur_parent, strtol($<string>2, NULL, 16), strtol($<string>3, NULL, 16), 1); };
ioapic_irq: IOAPIC_IRQ NUMBER PCIINT NUMBER
{ add_ioapic_info(cur_parent, strtol($<string>2, NULL, 16), $<string>3, strtol($<string>4, NULL, 16)); };
smbios_slot_desc: SLOT_DESC STRING STRING STRING STRING
{ add_slot_desc(cur_parent, $<string>2, $<string>3, $<string>4, $<string>5); };