Lines Matching refs:apic
9 #include <arch/x86/apic.h>
126 struct io_apic* apic = &io_apics[i];
127 paddr_t paddr = apic->desc.paddr;
148 apic->vaddr = vaddr;
152 uint32_t ver = apic_io_read_reg(apic, IO_APIC_REG_VER);
153 apic->version = IO_APIC_VER_VERSION(ver);
154 apic->max_redirection_entry = IO_APIC_VER_MAX_REDIR_ENTRY(ver);
156 if (apic->max_redirection_entry > IO_APIC_NUM_REDIRECTIONS - 1) {
159 apic->max_redirection_entry = IO_APIC_NUM_REDIRECTIONS - 1;
163 for (unsigned int j = 0; j <= apic->max_redirection_entry; ++j) {
165 apic, j + apic->desc.global_irq_base, IO_APIC_RTE_MASKED);
428 struct io_apic* apic = &io_apics[i];
429 for (uint8_t j = 0; j <= apic->max_redirection_entry; ++j) {
430 uint32_t global_irq = apic->desc.global_irq_base + j;
431 uint64_t reg = apic_io_read_redirection_entry(apic, global_irq);
432 apic->saved_rtes[j] = reg;
441 struct io_apic* apic = &io_apics[i];
442 for (uint8_t j = 0; j <= apic->max_redirection_entry; ++j) {
443 uint32_t global_irq = apic->desc.global_irq_base + j;
444 apic_io_write_redirection_entry(apic, global_irq, apic->saved_rtes[j]);
452 struct io_apic* apic = &io_apics[i];
454 printf(" id: %08x\n", apic->desc.apic_id);
455 printf(" version: %08hhx\n", apic->version);
456 printf(" entries: %08x\n", apic->max_redirection_entry + 1U);
457 for (uint8_t j = 0; j <= apic->max_redirection_entry; ++j) {
458 uint32_t global_irq = apic->desc.global_irq_base + j;
459 uint64_t reg = apic_io_read_redirection_entry(apic, global_irq);