diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-01-08 03:16:17 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-01-08 03:16:17 +0000 |
commit | ad2229181528c548830bb38d329e9a7a8fa652d5 (patch) | |
tree | 4a3f48cb2e56c19d9cd8a1184ebfc489e4bc4cd0 | |
parent | dad4eff1f7fe223f168c88f9873e5ddb32f74884 (diff) |
s/pcppi/pckbc/ due to conflict with "real" pcppi and as a step towards
sys/dev/pckbc. Will probably still not coexist with pcppi but now alpha at
least configs. I will come back here anyday and improve.
-rw-r--r-- | sys/arch/alpha/conf/ALATAR | 6 | ||||
-rw-r--r-- | sys/arch/alpha/conf/ALPHA | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/AXPPCI33 | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/BUNNY | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/GENERIC | 10 | ||||
-rw-r--r-- | sys/arch/alpha/conf/GENERIC.PROF | 10 | ||||
-rw-r--r-- | sys/arch/alpha/conf/JURA | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/LOKI | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/RAMDISK | 8 | ||||
-rw-r--r-- | sys/arch/alpha/conf/files.alpha | 12 | ||||
-rw-r--r-- | sys/arch/alpha/isa/pckbc.c (renamed from sys/arch/alpha/isa/pcppi.c) | 52 | ||||
-rw-r--r-- | sys/arch/alpha/isa/pckbcvar.h (renamed from sys/arch/alpha/isa/pcppivar.h) | 10 | ||||
-rw-r--r-- | sys/arch/alpha/isa/pckbd.c | 10 | ||||
-rw-r--r-- | sys/arch/alpha/isa/pms.c | 10 |
14 files changed, 86 insertions, 82 deletions
diff --git a/sys/arch/alpha/conf/ALATAR b/sys/arch/alpha/conf/ALATAR index 58e6c13def6..1a550eab114 100644 --- a/sys/arch/alpha/conf/ALATAR +++ b/sys/arch/alpha/conf/ALATAR @@ -1,4 +1,4 @@ -# $OpenBSD: ALATAR,v 1.3 1997/07/08 21:26:26 deraadt Exp $ +# $OpenBSD: ALATAR,v 1.4 1999/01/08 03:16:15 niklas Exp $ # # AXPpci 33 kernel. Enough to get booted, etc., but not much more. @@ -75,8 +75,8 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/ALPHA b/sys/arch/alpha/conf/ALPHA index 1817b5a3331..a6aab533394 100644 --- a/sys/arch/alpha/conf/ALPHA +++ b/sys/arch/alpha/conf/ALPHA @@ -1,4 +1,4 @@ -# $OpenBSD: ALPHA,v 1.12 1997/09/26 16:49:20 kstailey Exp $ +# $OpenBSD: ALPHA,v 1.13 1999/01/08 03:16:15 niklas Exp $ # $NetBSD: ALPHA,v 1.30 1996/12/03 17:25:27 cgd Exp $ # # Alpha kernel with all the options you'd want, and more. @@ -147,9 +147,9 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/AXPPCI33 b/sys/arch/alpha/conf/AXPPCI33 index 4641843ede8..d6bf9d710b0 100644 --- a/sys/arch/alpha/conf/AXPPCI33 +++ b/sys/arch/alpha/conf/AXPPCI33 @@ -1,4 +1,4 @@ -# $OpenBSD: AXPPCI33,v 1.4 1998/10/04 23:39:48 niklas Exp $ +# $OpenBSD: AXPPCI33,v 1.5 1999/01/08 03:16:15 niklas Exp $ # # Generic Alpha AXPPCI33 (NoName) kernel. # Enough to get booted, etc., but not much more. @@ -122,9 +122,9 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/BUNNY b/sys/arch/alpha/conf/BUNNY index 77c28320329..bea8e452f4c 100644 --- a/sys/arch/alpha/conf/BUNNY +++ b/sys/arch/alpha/conf/BUNNY @@ -1,4 +1,4 @@ -# $OpenBSD: BUNNY,v 1.10 1997/07/08 21:26:28 deraadt Exp $ +# $OpenBSD: BUNNY,v 1.11 1999/01/08 03:16:15 niklas Exp $ # $NetBSD: BUNNY,v 1.12 1996/11/25 04:16:15 cgd Exp $ # # Kernel for bunnahabhain.pdl.cs.cmu.edu. @@ -75,9 +75,9 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/GENERIC b/sys/arch/alpha/conf/GENERIC index 237a13a0566..35827a30483 100644 --- a/sys/arch/alpha/conf/GENERIC +++ b/sys/arch/alpha/conf/GENERIC @@ -1,4 +1,4 @@ -# $OpenBSD: GENERIC,v 1.36 1998/12/28 03:50:37 jason Exp $ +# $OpenBSD: GENERIC,v 1.37 1999/01/08 03:16:15 niklas Exp $ # $NetBSD: GENERIC,v 1.31 1996/12/03 17:25:29 cgd Exp $ # # Generic Alpha kernel. Enough to get booted, etc., but not much more. @@ -101,9 +101,11 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +#pcppi* at isa? # PC prog. periph. interface +#spkr0 at pcppi? +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/GENERIC.PROF b/sys/arch/alpha/conf/GENERIC.PROF index a1fadb206c9..fcdd2c499f8 100644 --- a/sys/arch/alpha/conf/GENERIC.PROF +++ b/sys/arch/alpha/conf/GENERIC.PROF @@ -1,4 +1,4 @@ -# $OpenBSD: GENERIC.PROF,v 1.4 1997/07/08 21:26:29 deraadt Exp $ +# $OpenBSD: GENERIC.PROF,v 1.5 1999/01/08 03:16:16 niklas Exp $ # $NetBSD: GENERIC.PROF,v 1.10 1996/12/03 17:25:31 cgd Exp $ # # Generic Alpha kernel. Enough to get booted, etc., but not much more. @@ -120,9 +120,11 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +#pcppi* at isa? # PC prog. periph. interface +#spkr0 at pcppi? +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/JURA b/sys/arch/alpha/conf/JURA index 650648c5b97..e47b4d09a4c 100644 --- a/sys/arch/alpha/conf/JURA +++ b/sys/arch/alpha/conf/JURA @@ -1,4 +1,4 @@ -# $OpenBSD: JURA,v 1.9 1997/07/08 21:26:29 deraadt Exp $ +# $OpenBSD: JURA,v 1.10 1999/01/08 03:16:16 niklas Exp $ # $NetBSD: JURA,v 1.11 1996/11/25 04:16:18 cgd Exp $ # # Kernel for jura.pdl.cs.cmu.edu. @@ -53,9 +53,9 @@ jcombo* at ibus? # the VLSI combo chip isa* at jcombo? mcclock0 at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com0 at isa? port 0x3f8 irq 4 # standard serial ports com1 at isa? port 0x2f8 irq 3 lpt0 at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/LOKI b/sys/arch/alpha/conf/LOKI index e5b983e0bcf..3064f050a87 100644 --- a/sys/arch/alpha/conf/LOKI +++ b/sys/arch/alpha/conf/LOKI @@ -1,4 +1,4 @@ -# $OpenBSD: LOKI,v 1.5 1998/10/06 23:53:26 kstailey Exp $ +# $OpenBSD: LOKI,v 1.6 1999/01/08 03:16:16 niklas Exp $ # # LOKI, an Alpha AXPPCI33 (NoName) kernel. # @@ -91,9 +91,9 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/RAMDISK b/sys/arch/alpha/conf/RAMDISK index 48475ed2b4b..efb8c807ec1 100644 --- a/sys/arch/alpha/conf/RAMDISK +++ b/sys/arch/alpha/conf/RAMDISK @@ -1,4 +1,4 @@ -# $OpenBSD: RAMDISK,v 1.22 1998/12/28 03:50:37 jason Exp $ +# $OpenBSD: RAMDISK,v 1.23 1999/01/08 03:16:16 niklas Exp $ # $NetBSD: RAMDISK,v 1.9 1996/12/03 17:25:33 cgd Exp $ # # Generic Alpha kernel. Enough to get booted, etc., but not much more. @@ -140,9 +140,9 @@ isa* at sio? # ISA devices mcclock* at isa? port 0x70 -pcppi* at isa? # PC prog. periph. interface -pckbd* at pcppi? # PC keyboard (kbd port) -#pms* at pcppi? # PS/2-style mouse (aux port) +pckbc* at isa? # PC keyboard controller +pckbd* at pckbc? # PC keyboard (kbd port) +#pms* at pckbc? # PS/2-style mouse (aux port) com* at isa? port 0x3f8 irq 4 # standard serial ports com* at isa? port 0x2f8 irq 3 #lpt* at isa? port 0x3bc irq 7 # standard parallel port diff --git a/sys/arch/alpha/conf/files.alpha b/sys/arch/alpha/conf/files.alpha index 8f9ad066435..c6d2009aa33 100644 --- a/sys/arch/alpha/conf/files.alpha +++ b/sys/arch/alpha/conf/files.alpha @@ -1,4 +1,4 @@ -# $OpenBSD: files.alpha,v 1.23 1998/09/22 20:43:33 jason Exp $ +# $OpenBSD: files.alpha,v 1.24 1999/01/08 03:16:16 niklas Exp $ # $NetBSD: files.alpha,v 1.32 1996/11/25 04:03:21 cgd Exp $ # # alpha-specific configuration info @@ -143,16 +143,16 @@ major { wd = 0 } file arch/alpha/isa/isa_machdep.c isa file arch/alpha/pci/pciide_machdep.c pci -device pcppi { } -attach pcppi at isa -file arch/alpha/isa/pcppi.c pcppi +device pckbc { } +attach pckbc at isa +file arch/alpha/isa/pckbc.c pckbc device pckbd -attach pckbd at pcppi +attach pckbd at pckbc file arch/alpha/isa/pckbd.c pckbd device pms -attach pms at pcppi +attach pms at pckbc file arch/alpha/isa/pms.c pms # National Semiconductor DS8390/WD83C690-based boards diff --git a/sys/arch/alpha/isa/pcppi.c b/sys/arch/alpha/isa/pckbc.c index a105e24c0fb..32cbdf7f3a1 100644 --- a/sys/arch/alpha/isa/pcppi.c +++ b/sys/arch/alpha/isa/pckbc.c @@ -1,5 +1,5 @@ -/* $OpenBSD: pcppi.c,v 1.2 1997/11/10 15:53:10 niklas Exp $ */ -/* $NetBSD: pcppi.c,v 1.3 1996/12/05 01:39:31 cgd Exp $ */ +/* $OpenBSD: pckbc.c,v 1.1 1999/01/08 03:16:14 niklas Exp $ */ +/* $NetBSD: pckbc.c,v 1.3 1996/12/05 01:39:31 cgd Exp $ */ /* * Copyright (c) 1996 Carnegie-Mellon University. @@ -38,9 +38,9 @@ #include <dev/isa/isareg.h> #include <dev/isa/isavar.h> -#include <alpha/isa/pcppivar.h> +#include <alpha/isa/pckbcvar.h> -struct pcppi_softc { +struct pckbc_softc { struct device sc_dv; bus_space_tag_t sc_iot; @@ -48,24 +48,24 @@ struct pcppi_softc { }; #ifdef __BROKEN_INDIRECT_CONFIG -int pcppi_match __P((struct device *, void *, void *)); +int pckbc_match __P((struct device *, void *, void *)); #else -int pcppi_match __P((struct device *, struct cfdata *, void *)); +int pckbc_match __P((struct device *, struct cfdata *, void *)); #endif -void pcppi_attach __P((struct device *, struct device *, void *)); +void pckbc_attach __P((struct device *, struct device *, void *)); -struct cfattach pcppi_ca = { - sizeof(struct pcppi_softc), pcppi_match, pcppi_attach, +struct cfattach pckbc_ca = { + sizeof(struct pckbc_softc), pckbc_match, pckbc_attach, }; -struct cfdriver pcppi_cd = { - NULL, "pcppi", DV_DULL, +struct cfdriver pckbc_cd = { + NULL, "pckbc", DV_DULL, }; -int pcppiprint __P((void *, const char *)); +int pckbcprint __P((void *, const char *)); int -pcppi_match(parent, match, aux) +pckbc_match(parent, match, aux) struct device *parent; #ifdef __BROKEN_INDIRECT_CONFIG void *match; @@ -134,59 +134,59 @@ lose: } void -pcppi_attach(parent, self, aux) +pckbc_attach(parent, self, aux) struct device *parent, *self; void *aux; { - struct pcppi_softc *sc = (struct pcppi_softc *)self; + struct pckbc_softc *sc = (struct pckbc_softc *)self; struct isa_attach_args *ia = aux; - struct pcppi_attach_args pa; + struct pckbc_attach_args pa; bus_space_tag_t iot; sc->sc_iot = iot = ia->ia_iot; if (bus_space_map(iot, 0x40, 4, 0, &sc->sc_pit1_ioh) || /*XXX*/ bus_space_map(iot, 0x60, 5, 0, &sc->sc_ppi_ioh)) /*XXX*/ - panic("pcppi_attach: couldn't map"); + panic("pckbc_attach: couldn't map"); printf("\n"); - pa.pa_slot = PCPPI_KBD_SLOT; + pa.pa_slot = PCKBC_KBD_SLOT; pa.pa_iot = iot; /* XXX */ pa.pa_ioh = sc->sc_ppi_ioh; /* XXX */ pa.pa_pit_ioh = sc->sc_pit1_ioh; /* XXX */ pa.pa_delaybah = ia->ia_delaybah; /* XXX */ pa.pa_ic = ia->ia_ic; /* XXX */ - config_found(self, &pa, pcppiprint); + config_found(self, &pa, pckbcprint); /* XXX SHOULD ONLY ATTACH IF SOMETHING IS THERE */ - pa.pa_slot = PCPPI_AUX_SLOT; + pa.pa_slot = PCKBC_AUX_SLOT; pa.pa_iot = iot; /* XXX */ pa.pa_ioh = sc->sc_ppi_ioh; /* XXX */ pa.pa_pit_ioh = sc->sc_pit1_ioh; /* XXX */ pa.pa_delaybah = ia->ia_delaybah; /* XXX */ pa.pa_ic = ia->ia_ic; /* XXX */ - config_found(self, &pa, pcppiprint); + config_found(self, &pa, pckbcprint); } int -pcppiprint(aux, pnp) +pckbcprint(aux, pnp) void *aux; const char *pnp; { - struct pcppi_attach_args *pa = aux; + struct pckbc_attach_args *pa = aux; const char *type; switch (pa->pa_slot) { - case PCPPI_KBD_SLOT: + case PCKBC_KBD_SLOT: type = "pckbd"; break; - case PCPPI_AUX_SLOT: + case PCKBC_AUX_SLOT: type = "pms"; /* XXX XXX XXX should make sure it's there before configuring */ return (QUIET); break; default: - panic("pcppiprint: bad slot"); + panic("pckbcprint: bad slot"); } if (pnp) diff --git a/sys/arch/alpha/isa/pcppivar.h b/sys/arch/alpha/isa/pckbcvar.h index 1b6e832d5ee..62d97454e04 100644 --- a/sys/arch/alpha/isa/pcppivar.h +++ b/sys/arch/alpha/isa/pckbcvar.h @@ -1,5 +1,5 @@ -/* $OpenBSD: pcppivar.h,v 1.2 1997/11/10 15:53:10 niklas Exp $ */ -/* $NetBSD: pcppivar.h,v 1.1 1996/11/25 03:26:37 cgd Exp $ */ +/* $OpenBSD: pckbcvar.h,v 1.1 1999/01/08 03:16:15 niklas Exp $ */ +/* $NetBSD: pckbcvar.h,v 1.1 1996/11/25 03:26:37 cgd Exp $ */ /* * Copyright (c) 1996 Carnegie-Mellon University. @@ -28,7 +28,7 @@ * rights to redistribute these changes. */ -struct pcppi_attach_args { +struct pckbc_attach_args { unsigned int pa_slot; /* XXX should have a device type number */ /* XXX should have a cookie to be passed to callbacks */ @@ -41,5 +41,5 @@ struct pcppi_attach_args { isa_chipset_tag_t pa_ic; }; -#define PCPPI_KBD_SLOT 0 -#define PCPPI_AUX_SLOT 1 +#define PCKBC_KBD_SLOT 0 +#define PCKBC_AUX_SLOT 1 diff --git a/sys/arch/alpha/isa/pckbd.c b/sys/arch/alpha/isa/pckbd.c index da04102efcb..4180b96cc76 100644 --- a/sys/arch/alpha/isa/pckbd.c +++ b/sys/arch/alpha/isa/pckbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pckbd.c,v 1.14 1998/02/05 22:57:51 deraadt Exp $ */ +/* $OpenBSD: pckbd.c,v 1.15 1999/01/08 03:16:15 niklas Exp $ */ /* $NetBSD: pckbd.c,v 1.14 1996/12/05 01:39:30 cgd Exp $ */ /*- @@ -65,7 +65,7 @@ #include <alpha/isa/spkrreg.h> #include <alpha/isa/timerreg.h> #include <machine/wsconsio.h> -#include <alpha/isa/pcppivar.h> +#include <alpha/isa/pckbcvar.h> #include <dev/wscons/wsconsvar.h> #include <dev/wscons/kbd.h> @@ -323,10 +323,10 @@ pckbdprobe(parent, match, aux) #endif void *aux; { - struct pcppi_attach_args *pa = aux; + struct pckbc_attach_args *pa = aux; u_int i, rv; - if (pa->pa_slot != PCPPI_KBD_SLOT) + if (pa->pa_slot != PCKBC_KBD_SLOT) return 0; rv = 0; @@ -418,7 +418,7 @@ pckbdattach(parent, self, aux) void *aux; { struct pckbd_softc *sc = (void *)self; - struct pcppi_attach_args *pa = aux; + struct pckbc_attach_args *pa = aux; pckbd_iot = pa->pa_iot; pckbd_ic = pa->pa_ic; diff --git a/sys/arch/alpha/isa/pms.c b/sys/arch/alpha/isa/pms.c index 3251fc71029..ec173574e28 100644 --- a/sys/arch/alpha/isa/pms.c +++ b/sys/arch/alpha/isa/pms.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pms.c,v 1.6 1997/11/06 12:27:03 niklas Exp $ */ +/* $OpenBSD: pms.c,v 1.7 1999/01/08 03:16:15 niklas Exp $ */ /* $NetBSD: pms.c,v 1.7 1996/12/05 01:39:31 cgd Exp $ */ /*- @@ -50,7 +50,7 @@ #include <dev/isa/isavar.h> #include <dev/wscons/wsconsvar.h> #include <dev/wscons/ms.h> -#include <alpha/isa/pcppivar.h> +#include <alpha/isa/pckbcvar.h> #define PMS_DATA 0x0 /* offset for data port, read-write */ #define PMS_CNTRL 0x4 /* offset for control port, write-only */ @@ -187,10 +187,10 @@ pmsprobe(parent, match, aux) #endif void *aux; { - struct pcppi_attach_args *pa = aux; + struct pckbc_attach_args *pa = aux; u_char x; - if (pa->pa_slot != PCPPI_AUX_SLOT) + if (pa->pa_slot != PCKBC_AUX_SLOT) return 0; pms_iot = pa->pa_iot; @@ -213,7 +213,7 @@ pmsattach(parent, self, aux) void *aux; { struct pms_softc *sc = (void *)self; - struct pcppi_attach_args *pa = aux; + struct pckbc_attach_args *pa = aux; pms_iot = pa->pa_iot; pms_ioh = pa->pa_ioh; |