Back to home page

Quest Cross Reference

 
 

    


Warning, cross-references for /kernel/include/smp/apic.h need to be fixed.

0001 /*                    The Quest Operating System
0002  *  Copyright (C) 2005-2010  Richard West, Boston University
0003  *
0004  *  This program is free software: you can redistribute it and/or modify
0005  *  it under the terms of the GNU General Public License as published by
0006  *  the Free Software Foundation, either version 3 of the License, or
0007  *  (at your option) any later version.
0008  *
0009  *  This program is distributed in the hope that it will be useful,
0010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0012  *  GNU General Public License for more details.
0013  *
0014  *  You should have received a copy of the GNU General Public License
0015  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
0016  */
0017 
0018 #ifndef _APIC_H_
0019 #define _APIC_H_
0020 
0021 #include "types.h"
0022 #include "smp/apic-defs.h"
0023 #include "smp/smp.h"
0024 
0025 uint8 LAPIC_get_physical_ID (void);
0026 void LAPIC_set_logical_destination (uint32);
0027 void LAPIC_enable_timer (uint8, bool, uint8);
0028 void send_eoi (void);
0029 void LAPIC_start_timer (uint32);
0030 int LAPIC_send_ipi (uint32, uint32);
0031 uint32 LAPIC_clear_error (void);
0032 void LAPIC_set_task_priority (uint8);
0033 
0034 #define MAX_IOAPICS MAX_CPUS
0035 
0036 uint64 IOAPIC_read64 (uint8);
0037 void IOAPIC_write64 (uint8, uint64);
0038 mp_IOAPIC_info *IOAPIC_lookup (uint8);
0039 int IOAPIC_map_GSI (uint32, uint8, uint64);
0040 int IOAPIC_get_GSI_mapping (uint32 GSI, uint8 *vector, uint64 *flags);
0041 uint32 IOAPIC_num_entries (void);
0042 extern uint32 mp_ISA_bus_id;
0043 
0044 #endif 
0045 
0046 /* 
0047  * Local Variables:
0048  * indent-tabs-mode: nil
0049  * mode: C
0050  * c-file-style: "gnu"
0051  * c-basic-offset: 2
0052  * End: 
0053  */
0054 
0055 /* vi: set et sw=2 sts=2: */