summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2006-10-06 22:30:27 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2006-10-06 22:30:27 +0000
commit6a6b203ee385e40238b7b48250d88ed439deee69 (patch)
tree6b2aedd56b2b3ff5825ca56b77ffe8fc771ec0df /sys
parentb4678c6a4548dbb19556eded335feca8cb1a8f5e (diff)
few more files
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/landisk/dev/obiovar.h156
-rw-r--r--sys/arch/landisk/dev/rs5c313reg.h68
-rw-r--r--sys/arch/landisk/include/conf.h125
-rw-r--r--sys/arch/landisk/landisk/autoconf.c221
-rw-r--r--sys/arch/landisk/landisk/clock_machdep.c55
-rw-r--r--sys/arch/sh/include/cpu.h3
6 files changed, 627 insertions, 1 deletions
diff --git a/sys/arch/landisk/dev/obiovar.h b/sys/arch/landisk/dev/obiovar.h
new file mode 100644
index 00000000000..8b263f49a8e
--- /dev/null
+++ b/sys/arch/landisk/dev/obiovar.h
@@ -0,0 +1,156 @@
+/* $NetBSD: obiovar.h,v 1.1 2006/09/01 21:26:18 uwe Exp $ */
+
+/*-
+ * Copyright (c) 1997 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
+ * NASA Ames Research Center.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Copyright (c) 1995 Chris G. Demetriou
+ * Copyright (c) 1992 Berkeley Software Design, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Berkeley Software
+ * Design, Inc.
+ * 4. The name of Berkeley Software Design must not be used to endorse
+ * or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BERKELEY SOFTWARE DESIGN, INC. ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL BERKELEY SOFTWARE DESIGN, INC. BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * BSDI Id: isavar.h,v 1.5 1992/12/01 18:06:00 karels Exp
+ */
+
+#ifndef _LANDISK_OBIOVAR_H_
+#define _LANDISK_OBIOVAR_H_
+
+#include <machine/bus.h>
+
+/* obio tag */
+extern struct _bus_space obio_bus_io;
+extern struct _bus_space obio_bus_mem;
+
+/*
+ * obio bus attach arguments
+ */
+struct obiobus_attach_args {
+ const char *oba_busname; /* XXX should be common */
+
+ bus_space_tag_t oba_iot; /* obio i/o space tag */
+ bus_space_tag_t oba_memt; /* obio mem space tag */
+};
+
+/*
+ * obio bus resources.
+ */
+
+struct obio_io {
+ int or_addr;
+ int or_size;
+};
+
+struct obio_iomem {
+ int or_addr;
+ int or_size;
+};
+
+struct obio_irq {
+ int or_irq;
+};
+
+/*
+ * driver attach arguments
+ */
+struct obio_attach_args {
+ bus_space_tag_t oa_iot; /* i/o space tag */
+ bus_space_tag_t oa_memt; /* memory space tag */
+
+ struct obio_io *oa_io; /* I/O resources */
+ int oa_nio;
+
+ struct obio_iomem *oa_iomem; /* memory resources */
+ int oa_niomem;
+
+ struct obio_irq *oa_irq; /* IRQ resources */
+ int oa_nirq;
+
+ void *oa_aux; /* driver specific */
+};
+
+#define IOBASEUNK -1 /* i/o address is unknown */
+#define IRQUNK -1 /* interrupt request line is unknown */
+#define MADDRUNK -1 /* shared memory address is unknown */
+
+
+/*
+ * master bus
+ */
+struct obio_softc {
+ struct device sc_dev; /* base device */
+
+ bus_space_tag_t sc_iot; /* io space tag */
+ bus_space_tag_t sc_memt; /* mem space tag */
+};
+
+#define cf_iobase cf_loc[0]
+#define cf_iosize cf_loc[1]
+#define cf_maddr cf_loc[2]
+#define cf_msize cf_loc[3]
+#define cf_irq cf_loc[4]
+
+void *obio_intr_establish(int irq, int level, int (*func)(void *), void *arg);
+void obio_intr_disestablish(void *ih);
+
+#endif /* _LANDISK_OBIOVAR_H_ */
diff --git a/sys/arch/landisk/dev/rs5c313reg.h b/sys/arch/landisk/dev/rs5c313reg.h
new file mode 100644
index 00000000000..cbc33273066
--- /dev/null
+++ b/sys/arch/landisk/dev/rs5c313reg.h
@@ -0,0 +1,68 @@
+/* $OpenBSD: rs5c313reg.h,v 1.1 2006/10/06 22:30:26 mickey Exp $ */
+/* $NetBSD: rs5c313reg.h,v 1.1 2006/09/07 01:12:00 uwe Exp $ */
+
+/*-
+ * Copyright (c) 2005 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * RICOH RS5C313 Real Time Clock
+ */
+#define RS5C313_SEC1 0
+#define RS5C313_SEC10 1
+#define RS5C313_MIN1 2
+#define RS5C313_MIN10 3
+#define RS5C313_HOUR1 4
+#define RS5C313_HOUR10 5
+#define RS5C313_WDAY 6
+#define RS5C313_TINT 7
+#define RS5C313_DAY1 8
+#define RS5C313_DAY10 9
+#define RS5C313_MON1 10
+#define RS5C313_MON10 11
+#define RS5C313_YEAR1 12
+#define RS5C313_YEAR10 13
+#define RS5C313_CTRL 14
+#define RS5C313_TEST 15
+
+/* TINT register */
+#define TINT_CT0 0x01
+#define TINT_CT1 0x02
+#define TINT_CT2 0x04
+#define TINT_CT3 0x08
+
+/* CTRL register */
+#define CTRL_BSY 0x01 /* read */
+#define CTRL_ADJ 0x01 /* write */
+#define CTRL_XSTP 0x02 /* read */
+#define CTRL_WTEN 0x02 /* write */
+#define CTRL_24H 0x04 /* read/write */
+#define CTRL_CTFG 0x08 /* read/write */
+
+#define CTRL_BASE CTRL_24H
diff --git a/sys/arch/landisk/include/conf.h b/sys/arch/landisk/include/conf.h
new file mode 100644
index 00000000000..38918ffd8f7
--- /dev/null
+++ b/sys/arch/landisk/include/conf.h
@@ -0,0 +1,125 @@
+/* $OpenBSD: conf.h,v 1.1 2006/10/06 22:30:26 mickey Exp $ */
+
+/*
+ * Copyright (c) 1997 Mark Brinicombe.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * for the NetBSD Project.
+ * 4. The name of the company nor the name of the author may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * RiscBSD kernel project
+ *
+ * conf.h
+ *
+ * Prototypes for device driver functions
+ */
+
+#ifndef _LANDISK_CONF_H
+#define _LANDISK_CONF_H
+
+
+#include <sys/conf.h>
+
+#define mmread mmrw
+#define mmwrite mmrw
+cdev_decl(mm);
+
+bdev_decl(wd);
+cdev_decl(wd);
+bdev_decl(fd);
+cdev_decl(fd);
+
+/* Character device declarations */
+
+/* open, close, read, write, ioctl, tty, mmap -- XXX should be a tty */
+#define cdev_physcon_init(c,n) cdev__ttym_init(c,n,0)
+
+/* open, close, ioctl */
+#define cdev_beep_init(c,n) cdev__oci_init(c,n)
+
+/* open, close, read, ioctl */
+#define cdev_kbd_init(c,n) cdev__ocri_init(c,n)
+
+/* open, close, ioctl, mmap */
+#define cdev_vidcvid_init(c,n) { \
+ dev_init(c,n,open), dev_init(c,n,close), dev_noimpl(read,enodev), \
+ dev_noimpl(write,enodev), dev_init(c,n,ioctl), \
+ dev_noimpl(stop,enodev), 0, seltrue, dev_init(c,n,mmap), 0 }
+
+/* open, close, read, write, ioctl */
+#define cdev_iic_init(c,n) cdev__ocrwi_init(c,n)
+#define cdev_rtc_init(c,n) cdev__ocrwi_init(c,n)
+
+/* open, close, read, ioctl */
+#define cdev_prof_init(c,n) cdev__ocri_init(c,n)
+
+/* open, close, ioctl, kqueue */
+#define cdev_apm_init(c,n) { \
+ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \
+ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \
+ (dev_type_stop((*))) enodev, 0, (dev_type_poll((*))) enodev, \
+ (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) }
+
+cdev_decl(physcon);
+cdev_decl(vidcconsole);
+cdev_decl(biconsdev);
+cdev_decl(com);
+cdev_decl(lpt);
+cdev_decl(qms);
+cdev_decl(opms);
+cdev_decl(beep);
+cdev_decl(kbd);
+cdev_decl(iic);
+cdev_decl(rtc);
+cdev_decl(fcom);
+cdev_decl(pc);
+cdev_decl(ofcons_);
+cdev_decl(ofd);
+cdev_decl(ofrtc);
+cdev_decl(sacom);
+cdev_decl(scr);
+cdev_decl(prof);
+#define ofromread ofromrw
+#define ofromwrite ofromrw
+cdev_decl(ofrom);
+cdev_decl(joy);
+cdev_decl(vc_nb_);
+cdev_decl(wsfont);
+cdev_decl(scsibus);
+cdev_decl(openfirm);
+cdev_decl(pci);
+cdev_decl(agp);
+cdev_decl(iop);
+cdev_decl(ld);
+cdev_decl(mlx);
+cdev_decl(mly);
+cdev_decl(plcom);
+cdev_decl(apm);
+cdev_decl(spkr);
+
+#endif /* _LANDISK_CONF_H_ */
diff --git a/sys/arch/landisk/landisk/autoconf.c b/sys/arch/landisk/landisk/autoconf.c
new file mode 100644
index 00000000000..6d510576386
--- /dev/null
+++ b/sys/arch/landisk/landisk/autoconf.c
@@ -0,0 +1,221 @@
+/* $NetBSD: autoconf.c,v 1.1 2006/09/01 21:26:18 uwe Exp $ */
+
+/*-
+ * Copyright (c) 2002 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/device.h>
+#include <sys/disklabel.h>
+#include <sys/conf.h>
+#include <sys/malloc.h>
+#include <sys/vnode.h>
+#include <sys/fcntl.h>
+#include <sys/disk.h>
+#include <sys/dkio.h>
+#include <sys/proc.h>
+
+#include <machine/bootinfo.h>
+#include <machine/intr.h>
+
+int cold;
+struct device *booted_device;
+int booted_partition;
+
+void findroot(void);
+int is_valid_disk(struct device *dv);
+int match_bootdisk(struct device *dv, struct btinfo_bootdisk *bid);
+
+void
+cpu_configure(void)
+{
+ /* Start configuration */
+ splhigh();
+ softintr_init();
+ intr_init();
+
+ if (config_rootfound("mainbus", NULL) == NULL)
+ panic("no mainbus found");
+
+ /* Configuration is finished, turn on interrupts. */
+ spl0();
+}
+
+int
+is_valid_disk(struct device *dv)
+{
+ const char *name;
+
+ if (dv->dv_class != DV_DISK)
+ return (0);
+
+ name = dv->dv_cfdata->cf_driver->cd_name;
+
+ return (strcmp(name, "sd") == 0 || strcmp(name, "wd") == 0);
+}
+
+/*
+ * Helper function for findroot():
+ * Return non-zero if disk device matches bootinfo.
+ */
+int
+match_bootdisk(struct device *dv, struct btinfo_bootdisk *bid)
+{
+ struct vnode *tmpvn;
+ int error;
+ struct disklabel label;
+ int found = 0;
+ int bmajor;
+
+ /*
+ * A disklabel is required here. The boot loader doesn't refuse
+ * to boot from a disk without a label, but this is normally not
+ * wanted.
+ */
+ if (bid->labelsector == -1)
+ return (0);
+
+#if 0
+ /*
+ * Lookup major number for disk block device.
+ */
+ bmajor = devsw_name2blk(dv->dv_xname, NULL, 0);
+ if (bmajor == -1)
+ return (0); /* XXX panic ??? */
+#endif
+
+ /*
+ * Fake a temporary vnode for the disk, open it, and read
+ * the disklabel for comparison.
+ */
+ if (bdevvp(MAKEDISKDEV(bmajor, dv->dv_unit, RAW_PART), &tmpvn))
+ panic("match_bootdisk: can't alloc vnode");
+ error = VOP_OPEN(tmpvn, FREAD, NOCRED, 0);
+ if (error) {
+#ifndef DEBUG
+ /*
+ * Ignore errors caused by missing device, partition,
+ * or medium.
+ */
+ if (error != ENXIO && error != ENODEV)
+#endif
+ printf("match_bootdisk: can't open dev %s (%d)\n",
+ dv->dv_xname, error);
+ vput(tmpvn);
+ return (0);
+ }
+ error = VOP_IOCTL(tmpvn, DIOCGDINFO, &label, FREAD, NOCRED, 0);
+ if (error) {
+ /*
+ * XXX Can't happen -- open() would have errored out
+ * or faked one up.
+ */
+ printf("match_bootdisk: can't get label for dev %s (%d)\n",
+ dv->dv_xname, error);
+ goto closeout;
+ }
+
+ /* Compare with our data. */
+ if (label.d_type == bid->label.type &&
+ label.d_checksum == bid->label.checksum &&
+ strncmp(label.d_packname, bid->label.packname, 16) == 0)
+ found = 1;
+
+closeout:
+ VOP_CLOSE(tmpvn, FREAD, NOCRED, 0);
+ vput(tmpvn);
+ return (found);
+}
+
+/*
+ * Attempt to find the device from which we were booted. If we can do so,
+ * and not instructed not to do so, change rootdev to correspond to the
+ * load device.
+ */
+void
+findroot(void)
+{
+ struct btinfo_bootdisk *bid;
+ struct device *dv;
+
+ if (booted_device)
+ return;
+
+ if ((bid = lookup_bootinfo(BTINFO_BOOTDISK)) != NULL) {
+ /*
+ * Scan all disk devices for ones that match the passed data.
+ * Don't break if one is found, to get possible multiple
+ * matches - for problem tracking. Use the first match anyway
+ * because lower device numbers are more likely to be the
+ * boot device.
+ */
+ for (dv = TAILQ_FIRST(&alldevs); dv != NULL;
+ dv = TAILQ_NEXT(dv, dv_list)) {
+ if (dv->dv_class != DV_DISK)
+ continue;
+
+ if (is_valid_disk(dv)) {
+ if (match_bootdisk(dv, bid) == 0)
+ continue;
+ goto bootdisk_found;
+ }
+ continue;
+
+bootdisk_found:
+ if (booted_device) {
+ printf("WARNING: double match for boot "
+ "device (%s, %s)\n",
+ booted_device->dv_xname, dv->dv_xname);
+ continue;
+ }
+ booted_device = dv;
+ booted_partition = bid->partition;
+ }
+
+ if (booted_device)
+ return;
+ }
+}
+
+#if 0
+void
+cpu_rootconf(void)
+{
+
+ findroot();
+
+ printf("boot device: %s\n",
+ booted_device ? booted_device->dv_xname : "<unknown>");
+ /* setroot(booted_device, booted_partition); */
+}
+#endif
diff --git a/sys/arch/landisk/landisk/clock_machdep.c b/sys/arch/landisk/landisk/clock_machdep.c
new file mode 100644
index 00000000000..6aae39d47f3
--- /dev/null
+++ b/sys/arch/landisk/landisk/clock_machdep.c
@@ -0,0 +1,55 @@
+/* $NetBSD: clock_machdep.c,v 1.2 2006/09/07 01:55:03 uwe Exp $ */
+
+/*-
+ * Copyright (c) 2002 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+
+#include <sh/clock.h>
+
+static void landisk_rtc_init(void *cookie);
+
+static struct rtc_ops landisk_rtc_ops = {
+ .init = landisk_rtc_init,
+};
+
+void
+machine_clock_init(void)
+{
+
+ sh_clock_init(SH_CLOCK_NORTC, &landisk_rtc_ops);
+}
+
+static void
+landisk_rtc_init(void *cookie)
+{
+ /* DUMMY */
+}
diff --git a/sys/arch/sh/include/cpu.h b/sys/arch/sh/include/cpu.h
index 682ab233eaa..0e9d6b38f5c 100644
--- a/sys/arch/sh/include/cpu.h
+++ b/sys/arch/sh/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.1 2006/10/06 21:02:55 miod Exp $ */
+/* $OpenBSD: cpu.h,v 1.2 2006/10/06 22:30:26 mickey Exp $ */
/* $NetBSD: cpu.h,v 1.41 2006/01/21 04:24:12 uwe Exp $ */
/*-
@@ -111,6 +111,7 @@ do { \
extern int want_resched; /* need_resched() was called */
+#define cpu_wait(p) ((void)(p))
/*
* We need a machine-independent name for this.
*/