diff --git a/sys/i386/apm/apm.c b/sys/i386/apm/apm.c index 8b9b862bcf05..cc5ca854a2c9 100644 --- a/sys/i386/apm/apm.c +++ b/sys/i386/apm/apm.c @@ -13,14 +13,11 @@ * * Sep, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm.c,v 1.19 1995/12/07 12:45:21 davidg Exp $ + * $Id: apm.c,v 1.20 1995/12/08 11:13:09 julian Exp $ */ #include "apm.h" -#if NAPM > 0 - -#ifdef __FreeBSD__ #include #include #include @@ -45,31 +42,10 @@ #include #include #include "apm_setup.h" -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#endif /* MACH_KERNEL */ - -extern int apm_display_off __P((void)); -extern int apm_int __P((u_long *eax, u_long *ebx, u_long *ecx)); -extern void apm_resume __P((void)); +static int apm_display_off __P((void)); +static int apm_int __P((u_long *eax, u_long *ebx, u_long *ecx)); +static void apm_resume __P((void)); /* static data */ struct apm_softc { @@ -87,7 +63,7 @@ struct apm_softc { static struct apm_softc apm_softc[NAPM]; static struct apm_softc *master_softc = NULL; /* XXX */ -struct apmhook *hook[NAPM_HOOK]; /* XXX */ +static struct apmhook *hook[NAPM_HOOK]; /* XXX */ #ifdef APM_SLOWSTART int apm_slowstart = 0; int apm_ss_cnt = 0; @@ -105,7 +81,6 @@ extern void fix_desc(struct fake_descriptor *, int); /* Map version number to integer (keeps ordering of version numbers) */ #define INTVERSION(major, minor) ((major)*100 + (minor)) -#ifdef __FreeBSD__ static timeout_t apm_timeout; static d_open_t apmopen; static d_close_t apmclose; @@ -117,16 +92,10 @@ static struct cdevsw apm_cdevsw = apmioctl, nostop, nullreset, nodevtotty,/* APM */ seltrue, nommap, NULL , "apm" ,NULL, -1}; -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -static void apm_timeout(void *); -#endif /* MACH_KERNEL */ - /* setup APM GDT discriptors */ static void setup_apm_gdt(u_int code32_base, u_int code16_base, u_int data_base, u_int code_limit, u_int data_limit) { -#ifdef __FreeBSD__ /* setup 32bit code segment */ gdt_segs[GAPMCODE32_SEL].ssd_base = code32_base; gdt_segs[GAPMCODE32_SEL].ssd_limit = code_limit; @@ -143,40 +112,15 @@ setup_apm_gdt(u_int code32_base, u_int code16_base, u_int data_base, u_int code_ ssdtosd(gdt_segs + GAPMCODE32_SEL, &gdt[GAPMCODE32_SEL].sd); ssdtosd(gdt_segs + GAPMCODE16_SEL, &gdt[GAPMCODE16_SEL].sd); ssdtosd(gdt_segs + GAPMDATA_SEL , &gdt[GAPMDATA_SEL ].sd); -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - /* setup 32bit code segment */ - gdt[sel_idx(GAPMCODE32_SEL)].offset = code32_base; - gdt[sel_idx(GAPMCODE32_SEL)].lim_or_seg = code_limit; - gdt[sel_idx(GAPMCODE32_SEL)].size_or_wdct = SZ_32; - gdt[sel_idx(GAPMCODE32_SEL)].access = ACC_P | ACC_PL_K | ACC_CODE_R; - - /* setup 16bit code segment */ - gdt[sel_idx(GAPMCODE16_SEL)].offset = code16_base; - gdt[sel_idx(GAPMCODE16_SEL)].lim_or_seg = code_limit; - gdt[sel_idx(GAPMCODE16_SEL)].size_or_wdct = 0; - gdt[sel_idx(GAPMCODE16_SEL)].access = ACC_P | ACC_PL_K | ACC_CODE_R; - - /* setup data segment */ - gdt[sel_idx(GAPMDATA_SEL )].offset = data_base; - gdt[sel_idx(GAPMDATA_SEL )].lim_or_seg = data_limit; - gdt[sel_idx(GAPMDATA_SEL )].size_or_wdct = 0; - gdt[sel_idx(GAPMDATA_SEL )].access = ACC_P | ACC_PL_K | ACC_DATA_W; - - /* reflect these changes on physical GDT */ - fix_desc(gdt + sel_idx(GAPMCODE32_SEL), 1); - fix_desc(gdt + sel_idx(GAPMCODE16_SEL), 1); - fix_desc(gdt + sel_idx(GAPMDATA_SEL) , 1); -#endif /* MACH_KERNEL */ } /* 48bit far pointer */ -struct addr48 { +static struct addr48 { u_long offset; u_short segment; } apm_addr; -int apm_errno; +static int apm_errno; inline int @@ -307,7 +251,7 @@ apm_suspend_system(struct apm_softc *sc) * If your laptop can control the display via APM, please inform me. * HOSOKAWA, Tatsumi */ -int +static int apm_display_off(void) { u_long eax, ebx, ecx; @@ -418,7 +362,7 @@ apm_hook_establish(int apmh, struct apmhook *ah) } /* disestablish an apm hook */ -void +static void apm_hook_disestablish(int apmh, struct apmhook *ah) { if (apmh < 0 || apmh >= NAPM_HOOK) @@ -434,7 +378,6 @@ static struct timeval diff_time; static int apm_default_resume(void *arg) { -#ifdef __FreeBSD__ int pl; u_int second, minute, hour; struct timeval resume_time, tmp_time; @@ -454,14 +397,12 @@ apm_default_resume(void *arg) second %= 60; log(LOG_NOTICE, "resumed from suspended mode (slept %02d:%02d:%02d)\n", hour, minute, second); -#endif /* __FreeBSD__ */ return 0; } static int apm_default_suspend(void *arg) { -#ifdef __FreeBSD__ int pl; pl = splsoftclock(); @@ -470,10 +411,6 @@ apm_default_suspend(void *arg) microtime(&suspend_time); timevalsub(&diff_time, &suspend_time); splx(pl); -#if 0 - printf("diff_time = %d:%d\n", diff_time.tv_sec, diff_time.tv_usec); -#endif -#endif /* __FreeBSD__ */ return 0; } @@ -540,7 +477,7 @@ apm_get_info(struct apm_softc *sc, apm_info_t aip) /* inform APM BIOS that CPU is idle */ -void +static void apm_cpu_idle(void) { struct apm_softc *sc = master_softc; /* XXX */ @@ -572,7 +509,7 @@ apm_cpu_idle(void) } /* inform APM BIOS that CPU is busy */ -void +static void apm_cpu_busy(void) { struct apm_softc *sc = master_softc; /* XXX */ @@ -649,22 +586,10 @@ apm_not_halt_cpu(struct apm_softc *sc) } /* device driver definitions */ -#ifdef __FreeBSD__ static int apmprobe (struct isa_device *); static int apmattach(struct isa_device *); struct isa_driver apmdriver = { apmprobe, apmattach, "apm" }; -#endif /* __FreeBSD__ */ - -#ifdef MACH_KERNEL -int apmprobe(vm_offset_t, struct bus_ctlr *); -void apmattach(struct bus_device *); -static struct bus_device *apminfo[NAPM]; -static vm_offset_t apmstd[NAPM] = { 0 }; -struct bus_driver apmdriver = { - apmprobe, 0, apmattach, 0, apmstd, "apm", apminfo, 0, 0, 0}; -#endif /* MACH_KERNEL */ - /* * probe APM (dummy): @@ -675,21 +600,10 @@ struct bus_driver apmdriver = { * to use V86 mode in APM initialization. */ -#ifdef __FreeBSD__ static int apmprobe(struct isa_device *dvp) -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -int -apmprobe(vm_offset_t port, struct bus_ctlr *devc) -#endif /* MACH_KERNEL */ { -#ifdef __FreeBSD__ int unit = dvp->id_unit; -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - int unit = devc->unit; -#endif /* MACH_KERNEL */ switch (apm_version) { case APMINI_CANTFIND: @@ -791,24 +705,12 @@ apm_processevent(struct apm_softc *sc) * /phk */ -#ifdef __FreeBSD__ static int apmattach(struct isa_device *dvp) -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -void -apmattach(struct bus_device *dvp) -#endif /* MACH_KERNEL */ { -#ifdef __FreeBSD__ int unit = dvp->id_unit; char name[32]; #define APM_KERNBASE KERNBASE -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - int unit = dvp->unit; -#define APM_KERNBASE VM_MIN_KERNEL_ADDRESS -#endif /* MACH_KERNEL */ struct apm_softc *sc = &apm_softc[unit]; master_softc = sc; /* XXX */ @@ -854,12 +756,7 @@ apmattach(struct bus_device *dvp) sc->cs_limit, sc->ds_limit); /* setup entry point 48bit pointer */ -#ifdef __FreeBSD__ apm_addr.segment = GSEL(GAPMCODE32_SEL, SEL_KPL); -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - apm_addr.segment = GAPMCODE32_SEL; -#endif /* MACH_KERNEL */ apm_addr.offset = sc->cs_entry; /* Try to kick bios into 1.1 mode */ @@ -915,17 +812,14 @@ apmattach(struct bus_device *dvp) sc->initialized = 1; -#ifdef __FreeBSD__ #ifdef DEVFS sprintf(name,"apm%d",unit); sc->sc_devfs_token = devfs_add_devsw( "/", name, &apm_cdevsw, unit, DV_CHR, 0, 0, 0600); #endif return 0; -#endif /* __FreeBSD__ */ } -#ifdef __FreeBSD__ static int apmopen(dev_t dev, int flag, int fmt, struct proc *p) { @@ -1011,32 +905,3 @@ apm_drvinit(void *unused) } SYSINIT(apmdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,apm_drvinit,NULL) - - - -#endif /* __FreeBSD__ */ - -#ifdef MACH_KERNEL -io_return_t apmopen(dev_t dev, int flag, io_req_t ior) -{ - int result; - - result = ENXIO; - return result; -} - -io_return_t apmclose(dev_t dev, int flag) -{ - return 0; -} - -io_return_t apmgetstat(dev_t dev, int flavor, int *data, u_int *count) -{ -} - -io_return_t apmsetstat(dev_t dev, int flavor, int *data, u_int count) -{ -} -#endif /* MACH_KERNEL */ - -#endif /* NAPM > 0 */ diff --git a/sys/i386/bios/apm.c b/sys/i386/bios/apm.c index 8b9b862bcf05..cc5ca854a2c9 100644 --- a/sys/i386/bios/apm.c +++ b/sys/i386/bios/apm.c @@ -13,14 +13,11 @@ * * Sep, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm.c,v 1.19 1995/12/07 12:45:21 davidg Exp $ + * $Id: apm.c,v 1.20 1995/12/08 11:13:09 julian Exp $ */ #include "apm.h" -#if NAPM > 0 - -#ifdef __FreeBSD__ #include #include #include @@ -45,31 +42,10 @@ #include #include #include "apm_setup.h" -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#endif /* MACH_KERNEL */ - -extern int apm_display_off __P((void)); -extern int apm_int __P((u_long *eax, u_long *ebx, u_long *ecx)); -extern void apm_resume __P((void)); +static int apm_display_off __P((void)); +static int apm_int __P((u_long *eax, u_long *ebx, u_long *ecx)); +static void apm_resume __P((void)); /* static data */ struct apm_softc { @@ -87,7 +63,7 @@ struct apm_softc { static struct apm_softc apm_softc[NAPM]; static struct apm_softc *master_softc = NULL; /* XXX */ -struct apmhook *hook[NAPM_HOOK]; /* XXX */ +static struct apmhook *hook[NAPM_HOOK]; /* XXX */ #ifdef APM_SLOWSTART int apm_slowstart = 0; int apm_ss_cnt = 0; @@ -105,7 +81,6 @@ extern void fix_desc(struct fake_descriptor *, int); /* Map version number to integer (keeps ordering of version numbers) */ #define INTVERSION(major, minor) ((major)*100 + (minor)) -#ifdef __FreeBSD__ static timeout_t apm_timeout; static d_open_t apmopen; static d_close_t apmclose; @@ -117,16 +92,10 @@ static struct cdevsw apm_cdevsw = apmioctl, nostop, nullreset, nodevtotty,/* APM */ seltrue, nommap, NULL , "apm" ,NULL, -1}; -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -static void apm_timeout(void *); -#endif /* MACH_KERNEL */ - /* setup APM GDT discriptors */ static void setup_apm_gdt(u_int code32_base, u_int code16_base, u_int data_base, u_int code_limit, u_int data_limit) { -#ifdef __FreeBSD__ /* setup 32bit code segment */ gdt_segs[GAPMCODE32_SEL].ssd_base = code32_base; gdt_segs[GAPMCODE32_SEL].ssd_limit = code_limit; @@ -143,40 +112,15 @@ setup_apm_gdt(u_int code32_base, u_int code16_base, u_int data_base, u_int code_ ssdtosd(gdt_segs + GAPMCODE32_SEL, &gdt[GAPMCODE32_SEL].sd); ssdtosd(gdt_segs + GAPMCODE16_SEL, &gdt[GAPMCODE16_SEL].sd); ssdtosd(gdt_segs + GAPMDATA_SEL , &gdt[GAPMDATA_SEL ].sd); -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - /* setup 32bit code segment */ - gdt[sel_idx(GAPMCODE32_SEL)].offset = code32_base; - gdt[sel_idx(GAPMCODE32_SEL)].lim_or_seg = code_limit; - gdt[sel_idx(GAPMCODE32_SEL)].size_or_wdct = SZ_32; - gdt[sel_idx(GAPMCODE32_SEL)].access = ACC_P | ACC_PL_K | ACC_CODE_R; - - /* setup 16bit code segment */ - gdt[sel_idx(GAPMCODE16_SEL)].offset = code16_base; - gdt[sel_idx(GAPMCODE16_SEL)].lim_or_seg = code_limit; - gdt[sel_idx(GAPMCODE16_SEL)].size_or_wdct = 0; - gdt[sel_idx(GAPMCODE16_SEL)].access = ACC_P | ACC_PL_K | ACC_CODE_R; - - /* setup data segment */ - gdt[sel_idx(GAPMDATA_SEL )].offset = data_base; - gdt[sel_idx(GAPMDATA_SEL )].lim_or_seg = data_limit; - gdt[sel_idx(GAPMDATA_SEL )].size_or_wdct = 0; - gdt[sel_idx(GAPMDATA_SEL )].access = ACC_P | ACC_PL_K | ACC_DATA_W; - - /* reflect these changes on physical GDT */ - fix_desc(gdt + sel_idx(GAPMCODE32_SEL), 1); - fix_desc(gdt + sel_idx(GAPMCODE16_SEL), 1); - fix_desc(gdt + sel_idx(GAPMDATA_SEL) , 1); -#endif /* MACH_KERNEL */ } /* 48bit far pointer */ -struct addr48 { +static struct addr48 { u_long offset; u_short segment; } apm_addr; -int apm_errno; +static int apm_errno; inline int @@ -307,7 +251,7 @@ apm_suspend_system(struct apm_softc *sc) * If your laptop can control the display via APM, please inform me. * HOSOKAWA, Tatsumi */ -int +static int apm_display_off(void) { u_long eax, ebx, ecx; @@ -418,7 +362,7 @@ apm_hook_establish(int apmh, struct apmhook *ah) } /* disestablish an apm hook */ -void +static void apm_hook_disestablish(int apmh, struct apmhook *ah) { if (apmh < 0 || apmh >= NAPM_HOOK) @@ -434,7 +378,6 @@ static struct timeval diff_time; static int apm_default_resume(void *arg) { -#ifdef __FreeBSD__ int pl; u_int second, minute, hour; struct timeval resume_time, tmp_time; @@ -454,14 +397,12 @@ apm_default_resume(void *arg) second %= 60; log(LOG_NOTICE, "resumed from suspended mode (slept %02d:%02d:%02d)\n", hour, minute, second); -#endif /* __FreeBSD__ */ return 0; } static int apm_default_suspend(void *arg) { -#ifdef __FreeBSD__ int pl; pl = splsoftclock(); @@ -470,10 +411,6 @@ apm_default_suspend(void *arg) microtime(&suspend_time); timevalsub(&diff_time, &suspend_time); splx(pl); -#if 0 - printf("diff_time = %d:%d\n", diff_time.tv_sec, diff_time.tv_usec); -#endif -#endif /* __FreeBSD__ */ return 0; } @@ -540,7 +477,7 @@ apm_get_info(struct apm_softc *sc, apm_info_t aip) /* inform APM BIOS that CPU is idle */ -void +static void apm_cpu_idle(void) { struct apm_softc *sc = master_softc; /* XXX */ @@ -572,7 +509,7 @@ apm_cpu_idle(void) } /* inform APM BIOS that CPU is busy */ -void +static void apm_cpu_busy(void) { struct apm_softc *sc = master_softc; /* XXX */ @@ -649,22 +586,10 @@ apm_not_halt_cpu(struct apm_softc *sc) } /* device driver definitions */ -#ifdef __FreeBSD__ static int apmprobe (struct isa_device *); static int apmattach(struct isa_device *); struct isa_driver apmdriver = { apmprobe, apmattach, "apm" }; -#endif /* __FreeBSD__ */ - -#ifdef MACH_KERNEL -int apmprobe(vm_offset_t, struct bus_ctlr *); -void apmattach(struct bus_device *); -static struct bus_device *apminfo[NAPM]; -static vm_offset_t apmstd[NAPM] = { 0 }; -struct bus_driver apmdriver = { - apmprobe, 0, apmattach, 0, apmstd, "apm", apminfo, 0, 0, 0}; -#endif /* MACH_KERNEL */ - /* * probe APM (dummy): @@ -675,21 +600,10 @@ struct bus_driver apmdriver = { * to use V86 mode in APM initialization. */ -#ifdef __FreeBSD__ static int apmprobe(struct isa_device *dvp) -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -int -apmprobe(vm_offset_t port, struct bus_ctlr *devc) -#endif /* MACH_KERNEL */ { -#ifdef __FreeBSD__ int unit = dvp->id_unit; -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - int unit = devc->unit; -#endif /* MACH_KERNEL */ switch (apm_version) { case APMINI_CANTFIND: @@ -791,24 +705,12 @@ apm_processevent(struct apm_softc *sc) * /phk */ -#ifdef __FreeBSD__ static int apmattach(struct isa_device *dvp) -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL -void -apmattach(struct bus_device *dvp) -#endif /* MACH_KERNEL */ { -#ifdef __FreeBSD__ int unit = dvp->id_unit; char name[32]; #define APM_KERNBASE KERNBASE -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - int unit = dvp->unit; -#define APM_KERNBASE VM_MIN_KERNEL_ADDRESS -#endif /* MACH_KERNEL */ struct apm_softc *sc = &apm_softc[unit]; master_softc = sc; /* XXX */ @@ -854,12 +756,7 @@ apmattach(struct bus_device *dvp) sc->cs_limit, sc->ds_limit); /* setup entry point 48bit pointer */ -#ifdef __FreeBSD__ apm_addr.segment = GSEL(GAPMCODE32_SEL, SEL_KPL); -#endif /* __FreeBSD__ */ -#ifdef MACH_KERNEL - apm_addr.segment = GAPMCODE32_SEL; -#endif /* MACH_KERNEL */ apm_addr.offset = sc->cs_entry; /* Try to kick bios into 1.1 mode */ @@ -915,17 +812,14 @@ apmattach(struct bus_device *dvp) sc->initialized = 1; -#ifdef __FreeBSD__ #ifdef DEVFS sprintf(name,"apm%d",unit); sc->sc_devfs_token = devfs_add_devsw( "/", name, &apm_cdevsw, unit, DV_CHR, 0, 0, 0600); #endif return 0; -#endif /* __FreeBSD__ */ } -#ifdef __FreeBSD__ static int apmopen(dev_t dev, int flag, int fmt, struct proc *p) { @@ -1011,32 +905,3 @@ apm_drvinit(void *unused) } SYSINIT(apmdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,apm_drvinit,NULL) - - - -#endif /* __FreeBSD__ */ - -#ifdef MACH_KERNEL -io_return_t apmopen(dev_t dev, int flag, io_req_t ior) -{ - int result; - - result = ENXIO; - return result; -} - -io_return_t apmclose(dev_t dev, int flag) -{ - return 0; -} - -io_return_t apmgetstat(dev_t dev, int flavor, int *data, u_int *count) -{ -} - -io_return_t apmsetstat(dev_t dev, int flavor, int *data, u_int count) -{ -} -#endif /* MACH_KERNEL */ - -#endif /* NAPM > 0 */