Messages in this thread |  | | | Date | Sat, 5 Apr 1997 20:43:03 -0500 | | From | tz@execpc ... | | Subject | MORE FIXES: 2.1.31, i386_ksyms.c, SMP, missing syms, and modules (fwd) |
| |
What follows is my current arch/i386/kernel/i386_ksyms.c and I did not do a patch since it is short, and I would like someone to look at it before replacing the file.
Other miscellaneous missing symbols:
boot_notifier_list needs to be added (with linux/notifier.h) to ksyms.c ltalk_setup is a netsym not defined (with include/if_ltalk.h) dlci_ioctl_hook is also a netsym not defined (copy the declaration in drivers/net/dlci.c)
For the i386_ksyms:
Lots of modules need the __global stuff listed below (at for modules to access).
In include/linux/tqueue.h I had to add:
#define queue_task_irq_off queue_task
or many more modules didn't compile.
The EXPORT_SYMBOL_NOVERS changes for SMP are needed for nfs.o to work as a module.
The CONFIG_APM needed to be added for when APM is turned on, and the declaration needs to not be static in time.c
tz@execpc.com finger tz@execpc.com for PGP key ---cut-here--- #include <linux/config.h> #include <linux/module.h> #include <linux/smp.h> #include <linux/user.h> #include <linux/elfcore.h> #include <linux/mca.h> #include <linux/sched.h> #include <linux/in6.h>
#include <asm/semaphore.h> #include <asm/processor.h> #include <asm/uaccess.h> #include <asm/checksum.h> #include <asm/system.h> #include <asm/io.h>
#include <asm/hardirq.h>
extern void dump_thread(struct pt_regs *, struct user *); extern int dump_fpu(elf_fpregset_t *); extern void __lock_kernel(void);
/* platform dependent support */ EXPORT_SYMBOL(EISA_bus); EXPORT_SYMBOL(MCA_bus); EXPORT_SYMBOL(wp_works_ok); EXPORT_SYMBOL(__verify_write); EXPORT_SYMBOL(dump_thread); EXPORT_SYMBOL(dump_fpu); EXPORT_SYMBOL(__ioremap); EXPORT_SYMBOL(iounmap); EXPORT_SYMBOL_NOVERS(__down_failed); EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); EXPORT_SYMBOL_NOVERS(__up_wakeup); /* Networking helper routines. */ EXPORT_SYMBOL(csum_partial_copy); /* for modules to access irq stuff */ EXPORT_SYMBOL(__global_cli); EXPORT_SYMBOL(__global_sti); EXPORT_SYMBOL(__global_save_flags); EXPORT_SYMBOL(__global_restore_flags); EXPORT_SYMBOL(tqueue_lock); EXPORT_SYMBOL(waitqueue_lock); EXPORT_SYMBOL(local_irq_count); EXPORT_SYMBOL(global_irq_holder); #ifdef __SMP__ #warning SMP is defined EXPORT_SYMBOL(apic_reg); /* Needed internally for the I386 inlines */ EXPORT_SYMBOL(cpu_data); EXPORT_SYMBOL_NOVERS(kernel_flag); EXPORT_SYMBOL_NOVERS(active_kernel_processor); EXPORT_SYMBOL(smp_invalidate_needed); EXPORT_SYMBOL_NOVERS(__lock_kernel); #endif #ifdef CONFIG_MCA /* Adapter probing and info methods. */ EXPORT_SYMBOL(mca_find_adapter); EXPORT_SYMBOL(mca_write_pos); EXPORT_SYMBOL(mca_read_pos); EXPORT_SYMBOL(mca_read_stored_pos); EXPORT_SYMBOL(mca_set_adapter_name); EXPORT_SYMBOL(mca_get_adapter_name); EXPORT_SYMBOL(mca_set_adapter_procfn); EXPORT_SYMBOL(mca_isenabled); EXPORT_SYMBOL(mca_isadapter); #endif #ifdef CONFIG_APM unsigned long get_cmos_time(void); EXPORT_SYMBOL(get_cmos_time); #endif
|  |