1/* 2 * Copyright (c) 2018 Metempsy Technology Consulting 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 437 unchanged lines hidden (view full) --- 446 * (1 of N SPI interrupts are not supported) 447 * A3V [24] == 1 448 * (Supports nonzero values of Affinity level 3) 449 * IDbits [23:19] == 0xf 450 * (The number of interrupt identifier bits supported, minus one) 451 * DVIS [18] == 0 452 * (The implementation does not support Direct Virtual LPI 453 * injection) |
454 * LPIS [17] == 1 |
455 * (The implementation does not support LPIs) 456 * MBIS [16] == 0 457 * (The implementation does not support message-based interrupts 458 * by writing to Distributor registers) 459 * SecurityExtn [10] == X 460 * (The GIC implementation supports two Security states) 461 * CPUNumber [7:5] == 0 462 * (since for us ARE is always 1 [(ARE = 0) == Gicv2 legacy]) 463 * ITLinesNumber [4:0] == N 464 * (MaxSPIIntId = 32 (N + 1) - 1) 465 */ 466 { 467 int max_spi_int_id = itLines - 1; 468 int it_lines_number = ceil((max_spi_int_id + 1) / 32.0) - 1; 469 return (1 << 26) | (1 << 25) | (1 << 24) | (0xf << 19) | |
470 (1 << 17) | (gic->getSystem()->haveSecurity() << 10) | |
471 (it_lines_number << 0); 472 } 473 474 case GICD_IIDR: // Implementer Identification Register 475 //return 0x43b; // ARM JEP106 code (r0p0 GIC-500) 476 return 0; 477 478 case GICD_STATUSR: // Error Reporting Status Register --- 654 unchanged lines hidden --- |