Remove useless symbol declarations from headers, make symbols local where possible, add some explicit initialization to global variables.
This commit is contained in:
@@ -45,25 +45,27 @@
|
||||
|
||||
#define VERBOSE_APIC(x) x
|
||||
|
||||
PUBLIC int reboot_type;
|
||||
PUBLIC int ioapic_enabled;
|
||||
PUBLIC u32_t ioapic_id_mask[8], lapic_id_mask[8];
|
||||
PRIVATE int reboot_type;
|
||||
PRIVATE int ioapic_enabled;
|
||||
PRIVATE u32_t ioapic_id_mask[8];
|
||||
PRIVATE u32_t lapic_id_mask[8];
|
||||
PUBLIC u32_t lapic_addr_vaddr;
|
||||
PUBLIC vir_bytes lapic_addr;
|
||||
PUBLIC vir_bytes lapic_eoi_addr;
|
||||
PUBLIC u32_t lapic_taskpri_addr;
|
||||
PUBLIC int bsp_lapic_id;
|
||||
PRIVATE u32_t lapic_taskpri_addr;
|
||||
|
||||
PRIVATE volatile int probe_ticks;
|
||||
PRIVATE u64_t tsc0, tsc1;
|
||||
PRIVATE u32_t lapic_tctr0, lapic_tctr1;
|
||||
|
||||
u8_t apicid2cpuid[MAX_NR_APICIDS+1];
|
||||
unsigned apic_imcrp;
|
||||
unsigned nioapics;
|
||||
unsigned nbuses;
|
||||
unsigned nintrs;
|
||||
unsigned nlints;
|
||||
/* FIXME: this is only accessed from assembly, never from C. Move to asm? */
|
||||
PUBLIC u8_t apicid2cpuid[MAX_NR_APICIDS+1]; /* Accessed from asm */
|
||||
|
||||
PRIVATE unsigned apic_imcrp;
|
||||
PRIVATE unsigned nioapics;
|
||||
PRIVATE unsigned nbuses;
|
||||
PRIVATE unsigned nintrs;
|
||||
PRIVATE const unsigned nlints = 0;
|
||||
|
||||
/*
|
||||
* FIXME this should be a cpulocal variable but there are some problems with
|
||||
@@ -100,7 +102,7 @@ PRIVATE int calib_clk_handler(irq_hook_t * UNUSED(hook))
|
||||
return 1;
|
||||
}
|
||||
|
||||
PUBLIC void apic_calibrate_clocks(void)
|
||||
PRIVATE void apic_calibrate_clocks(void)
|
||||
{
|
||||
u32_t lvtt, val, lapic_delta;
|
||||
u64_t tsc_delta;
|
||||
@@ -213,19 +215,19 @@ PUBLIC void lapic_stop_timer(void)
|
||||
lapic_write(LAPIC_LVTTR, lvtt | APIC_LVTT_MASK);
|
||||
}
|
||||
|
||||
PUBLIC void lapic_microsec_sleep(unsigned count)
|
||||
PRIVATE void lapic_microsec_sleep(unsigned count)
|
||||
{
|
||||
lapic_set_timer_one_shot(count);
|
||||
while (lapic_read (LAPIC_TIMER_CCR));
|
||||
}
|
||||
|
||||
PUBLIC u32_t lapic_errstatus (void)
|
||||
PRIVATE u32_t lapic_errstatus(void)
|
||||
{
|
||||
lapic_write(LAPIC_ESR, 0);
|
||||
return lapic_read(LAPIC_ESR);
|
||||
}
|
||||
|
||||
PUBLIC void lapic_disable(void)
|
||||
PRIVATE void lapic_disable(void)
|
||||
{
|
||||
/* Disable current APIC and close interrupts from PIC */
|
||||
u32_t val;
|
||||
@@ -432,7 +434,7 @@ PRIVATE void lapic_set_dummy_handlers(void)
|
||||
#endif
|
||||
|
||||
/* Build descriptors for interrupt gates in IDT. */
|
||||
PUBLIC void apic_idt_init(const int reset)
|
||||
PRIVATE void apic_idt_init(const int reset)
|
||||
{
|
||||
/* Set up idt tables for smp mode.
|
||||
*/
|
||||
|
||||
@@ -92,11 +92,8 @@
|
||||
|
||||
#include "kernel/kernel.h"
|
||||
|
||||
EXTERN int ioapic_enabled;
|
||||
EXTERN vir_bytes lapic_addr;
|
||||
EXTERN u32_t lapic_eoi_addr;
|
||||
EXTERN u32_t lapic_taskpri_addr;
|
||||
EXTERN int bsp_lapic_id;
|
||||
|
||||
#define MAX_NR_IOAPICS 32
|
||||
#define MAX_NR_BUSES 32
|
||||
@@ -104,39 +101,17 @@ EXTERN int bsp_lapic_id;
|
||||
#define MAX_NR_LCLINTS 2
|
||||
|
||||
EXTERN u8_t apicid2cpuid[MAX_NR_APICIDS+1];
|
||||
EXTERN unsigned apic_imcrp;
|
||||
EXTERN unsigned nioapics;
|
||||
EXTERN unsigned nbuses;
|
||||
EXTERN unsigned nintrs;
|
||||
EXTERN unsigned nlints;
|
||||
|
||||
EXTERN u32_t ioapic_id_mask[8];
|
||||
EXTERN u32_t lapic_id_mask[8];
|
||||
EXTERN u32_t lapic_addr_vaddr; /* we remember the virtual address here until we
|
||||
switch to paging */
|
||||
|
||||
_PROTOTYPE (void calc_bus_clock, (void));
|
||||
_PROTOTYPE (u32_t lapic_errstatus, (void));
|
||||
/*
|
||||
_PROTOTYPE (u32_t ioapic_read, (u32_t addr, u32_t offset));
|
||||
_PROTOTYPE (void ioapic_write, (u32_t addr, u32_t offset, u32_t data));
|
||||
_PROTOTYPE (void lapic_eoi, (void));
|
||||
*/
|
||||
_PROTOTYPE (void lapic_microsec_sleep, (unsigned count));
|
||||
_PROTOTYPE (void smp_ioapic_unmask, (void));
|
||||
_PROTOTYPE (void ioapic_disable_irqs, (u32_t irq));
|
||||
_PROTOTYPE (void ioapic_enable_irqs, (u32_t irq));
|
||||
_PROTOTYPE (u32_t ioapic_irqs_inuse, (void));
|
||||
_PROTOTYPE (void smp_recv_ipi, (int arg));
|
||||
_PROTOTYPE (void ioapic_config_pci_irq, (u32_t data));
|
||||
|
||||
_PROTOTYPE (int lapic_enable, (void));
|
||||
_PROTOTYPE (void lapic_disable, (void));
|
||||
|
||||
_PROTOTYPE (void ioapic_disable_all, (void));
|
||||
_PROTOTYPE (int ioapic_enable_all, (void));
|
||||
|
||||
_PROTOTYPE(void apic_idt_init, (int reset));
|
||||
|
||||
_PROTOTYPE(int apic_single_cpu_init, (void));
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "debugreg.h"
|
||||
|
||||
int breakpoint_set(phys_bytes linaddr, int bp, const int flags)
|
||||
PRIVATE int breakpoint_set(phys_bytes linaddr, int bp, const int flags)
|
||||
{
|
||||
u32_t dr7, dr7flags;
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "kernel/proc.h"
|
||||
#include "kernel/proto.h"
|
||||
|
||||
extern int catch_pagefaults;
|
||||
extern int catch_pagefaults = 0;
|
||||
|
||||
void pagefault( struct proc *pr,
|
||||
struct exception_frame * frame,
|
||||
|
||||
@@ -23,6 +23,16 @@
|
||||
#define ICW4_PC_AEOI_SLAVE 0x0B /* not SFNM, buffered, auto EOI, 8086 */
|
||||
#define ICW4_PC_AEOI_MASTER 0x0F /* not SFNM, buffered, auto EOI, 8086 */
|
||||
|
||||
/*===========================================================================*
|
||||
* intr_disabled *
|
||||
*===========================================================================*/
|
||||
PRIVATE int intr_disabled(void)
|
||||
{
|
||||
if(!(read_cpu_flags() & X86_FLAG_I))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*===========================================================================*
|
||||
* intr_init *
|
||||
*===========================================================================*/
|
||||
@@ -73,16 +83,6 @@ PUBLIC int intr_init(const int mine, const int auto_eoi)
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*===========================================================================*
|
||||
* intr_disabled *
|
||||
*===========================================================================*/
|
||||
PUBLIC int intr_disabled(void)
|
||||
{
|
||||
if(!(read_cpu_flags() & X86_FLAG_I))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
PUBLIC void irq_8259_unmask(const int irq)
|
||||
{
|
||||
const unsigned ctl_mask = irq < 8 ? INT_CTLMASK : INT2_CTLMASK;
|
||||
|
||||
@@ -170,8 +170,6 @@ _PROTOTYPE(void __user_copy_msg_pointer_failure, (void));
|
||||
#define BREAKPOINT_FLAG_MODE_LOCAL (1 << 4)
|
||||
#define BREAKPOINT_FLAG_MODE_GLOBAL (2 << 4)
|
||||
|
||||
_PROTOTYPE(int breakpoint_set, (phys_bytes linaddr, int index, int flags));
|
||||
|
||||
/* functions defined in architecture-independent kernel source. */
|
||||
#include "kernel/proto.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user