| 1321 | |
| 1322 | #[test] |
| 1323 | fn class_code() { |
| 1324 | let cfg = PciConfiguration::new( |
| 1325 | 0x1234, |
| 1326 | 0x5678, |
| 1327 | 0x1, |
| 1328 | PciClassCode::MultimediaController, |
| 1329 | &PciMultimediaSubclass::AudioController, |
| 1330 | Some(&TestPi::Test), |
| 1331 | PciHeaderType::Device, |
| 1332 | 0xABCD, |
| 1333 | 0x2468, |
| 1334 | None, |
| 1335 | None, |
| 1336 | ); |
| 1337 | |
| 1338 | let class_reg = cfg.read_reg(2); |
| 1339 | let class_code = (class_reg >> 24) & 0xFF; |
| 1340 | let subclass = (class_reg >> 16) & 0xFF; |
| 1341 | let prog_if = (class_reg >> 8) & 0xFF; |
| 1342 | assert_eq!(class_code, 0x04); |
| 1343 | assert_eq!(subclass, 0x01); |
| 1344 | assert_eq!(prog_if, 0x5a); |
| 1345 | } |
| 1346 | } |