summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2012-08-18 22:59:06 +0000
committermarcel <marcel@FreeBSD.org>2012-08-18 22:59:06 +0000
commit12f7f0563e109a9981ad4cb41bfd3e227e4fe036 (patch)
treedceefb44462be712e1d3fc8b47b8f2082ab49c49 /sys/ia64
parent5028d10ff9fc400816f6b6c53f1231a377de2fe9 (diff)
downloadFreeBSD-src-12f7f0563e109a9981ad4cb41bfd3e227e4fe036.zip
FreeBSD-src-12f7f0563e109a9981ad4cb41bfd3e227e4fe036.tar.gz
Remove support for SKI: HP's Itanium simulator. It's pretty much not
used, serves very little value given that FreeBSD runs on real H/W for a long time. Note that SKI is open-source (see http://ski.sourceforge.net), so if there's interest and value again, then this code can be revived. Discussed with: jhb
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/conf/NOTES4
-rw-r--r--sys/ia64/conf/SKI61
-rw-r--r--sys/ia64/ia64/ssc.c192
-rw-r--r--sys/ia64/ia64/sscdisk.c203
4 files changed, 0 insertions, 460 deletions
diff --git a/sys/ia64/conf/NOTES b/sys/ia64/conf/NOTES
index 0f8a4e7..107c70f 100644
--- a/sys/ia64/conf/NOTES
+++ b/sys/ia64/conf/NOTES
@@ -27,10 +27,6 @@ options LOG2_ID_PAGE_SIZE=27 # 128M
# The page size being equal to 1<<LOG2_PAGE_SIZE.
options LOG2_PAGE_SIZE=14 # 16K
-# option: SKI
-# Build support for running under the ski simulator.
-options SKI
-
# option: UWX_TRACE_ENABLE
# Build the unwinder with tracing support. This option is used to debug the
# unwinder itself and the glue around it.
diff --git a/sys/ia64/conf/SKI b/sys/ia64/conf/SKI
deleted file mode 100644
index ef1ca03..0000000
--- a/sys/ia64/conf/SKI
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# SKI -- Kernel configuration file for FreeBSD/ia64 running in the HP
-# SKI simulator
-#
-# For more information on this file, please read the handbook section on
-# Kernel Configuration Files:
-#
-# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
-#
-# The handbook is also available locally in /usr/share/doc/handbook
-# if you've installed the doc distribution, otherwise always see the
-# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
-# latest information.
-#
-# An exhaustive list of options and more detailed explanations of the
-# device lines is also present in the ../../conf/NOTES and NOTES files.
-# If you are in doubt as to the purpose or necessity of a line, check
-# first in NOTES.
-#
-# $FreeBSD$
-
-cpu ITANIUM
-ident SKI
-
-makeoptions DEBUG=-g # Build kernel with debug information.
-makeoptions NO_MODULES=yes # Don't build any modules.
-
-options DDB # Support DDB
-options FFS # Berkeley Fast Filesystem
-options GDB # Support remote GDB
-options INET # InterNETworking
-options INET6 # IPv6 communications protocols
-options KDB # Enable kernel debugger support
-options KTRACE # ktrace(1) syscall trace support
-options MD_ROOT # MD usable as root device
-options PROCFS # Process filesystem (/proc)
-options PSEUDOFS # Pseudo-filesystem framework
-#options SCHED_4BSD # 4BSD scheduler
-options SCHED_ULE # ULE scheduler
-options SKI # Include SKI support code
-options SOFTUPDATES # Enable FFS soft updates support
-options SYSVMSG # SYSV-style message queues
-options SYSVSEM # SYSV-style semaphores
-options SYSVSHM # SYSV-style shared memory
-options UFS_ACL # Support for access control lists
-options UFS_DIRHASH # Hash-based directory lookup scheme
-options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B RT extensions
-
-# Various "busses"
-device pci # PCI bus support
-
-# Various (pseudo) devices
-device ether # Ethernet support
-device loop # Network loopback
-device md # Memory "disks"
-device random # Entropy device
-device tun # Packet tunnel.
-
-# The `bpf' device enables the Berkeley Packet Filter.
-# Be aware of the administrative consequences of enabling this!
-device bpf # Berkeley packet filter
diff --git a/sys/ia64/ia64/ssc.c b/sys/ia64/ia64/ssc.c
deleted file mode 100644
index 95a6165..0000000
--- a/sys/ia64/ia64/ssc.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*-
- * Copyright (c) 2000 Doug Rabson
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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.
- *
- * $FreeBSD$
- */
-#include <sys/param.h>
-#include <sys/bus.h>
-#include <sys/conf.h>
-#include <sys/cons.h>
-#include <sys/kernel.h>
-#include <sys/lock.h>
-#include <sys/module.h>
-#include <sys/mutex.h>
-#include <sys/priv.h>
-#include <sys/proc.h>
-#include <sys/systm.h>
-#include <sys/tty.h>
-#include <machine/md_var.h>
-
-#include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/vm_kern.h>
-#include <vm/vm_page.h>
-#include <vm/vm_map.h>
-#include <vm/vm_object.h>
-#include <vm/vm_extern.h>
-#include <vm/vm_pageout.h>
-#include <vm/vm_pager.h>
-
-#define SSC_GETCHAR 21
-#define SSC_PUTCHAR 31
-
-#define SSC_POLL_HZ 50
-
-static tsw_open_t ssc_open;
-static tsw_outwakeup_t ssc_outwakeup;
-static tsw_close_t ssc_close;
-
-static struct ttydevsw ssc_class = {
- .tsw_flags = TF_NOPREFIX,
- .tsw_open = ssc_open,
- .tsw_outwakeup = ssc_outwakeup,
- .tsw_close = ssc_close,
-};
-
-static int polltime;
-static struct callout_handle ssc_timeouthandle
- = CALLOUT_HANDLE_INITIALIZER(&ssc_timeouthandle);
-
-static void ssc_timeout(void *);
-
-static u_int64_t
-ssc(u_int64_t in0, u_int64_t in1, u_int64_t in2, u_int64_t in3, int which)
-{
- register u_int64_t ret0 __asm("r8");
-
- __asm __volatile("mov r15=%1\n\t"
- "break 0x80001"
- : "=r"(ret0)
- : "r"(which), "r"(in0), "r"(in1), "r"(in2), "r"(in3));
- return ret0;
-}
-
-static void
-ssc_cnprobe(struct consdev *cp)
-{
-
- strcpy(cp->cn_name, "ssccons");
- cp->cn_pri = CN_INTERNAL;
-}
-
-static void
-ssc_cninit(struct consdev *cp)
-{
-}
-
-static void
-ssc_cnterm(struct consdev *cp)
-{
-}
-
-static void
-ssc_cngrab(struct consdev *cp)
-{
-}
-
-static void
-ssc_cnungrab(struct consdev *cp)
-{
-}
-
-static void
-ssc_cnattach(void *arg)
-{
- struct tty *tp;
-
- tp = tty_alloc(&ssc_class, NULL);
- tty_makedev(tp, NULL, "ssccons");
-}
-
-SYSINIT(ssc_cnattach, SI_SUB_DRIVERS, SI_ORDER_ANY, ssc_cnattach, 0);
-
-static void
-ssc_cnputc(struct consdev *cp, int c)
-{
- ssc(c, 0, 0, 0, SSC_PUTCHAR);
-}
-
-static int
-ssc_cngetc(struct consdev *cp)
-{
- int c;
- c = ssc(0, 0, 0, 0, SSC_GETCHAR);
- if (!c)
- return -1;
- return c;
-}
-
-static int
-ssc_open(struct tty *tp)
-{
-
- polltime = hz / SSC_POLL_HZ;
- if (polltime < 1)
- polltime = 1;
- ssc_timeouthandle = timeout(ssc_timeout, tp, polltime);
-
- return (0);
-}
-
-static void
-ssc_close(struct tty *tp)
-{
-
- untimeout(ssc_timeout, tp, ssc_timeouthandle);
-}
-
-static void
-ssc_outwakeup(struct tty *tp)
-{
- char buf[128];
- size_t len, c;
-
- for (;;) {
- len = ttydisc_getc(tp, buf, sizeof buf);
- if (len == 0)
- break;
-
- c = 0;
- while (len-- > 0)
- ssc_cnputc(NULL, buf[c++]);
- }
-}
-
-static void
-ssc_timeout(void *v)
-{
- struct tty *tp = v;
- int c;
-
- tty_lock(tp);
- while ((c = ssc_cngetc(NULL)) != -1)
- ttydisc_rint(tp, c, 0);
- ttydisc_rint_done(tp);
- tty_unlock(tp);
-
- ssc_timeouthandle = timeout(ssc_timeout, tp, polltime);
-}
-
-CONSOLE_DRIVER(ssc);
diff --git a/sys/ia64/ia64/sscdisk.c b/sys/ia64/ia64/sscdisk.c
deleted file mode 100644
index 146be7f..0000000
--- a/sys/ia64/ia64/sscdisk.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*-
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $FreeBSD$
- *
- */
-
-#include "opt_md.h"
-#include "opt_ski.h"
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/bio.h>
-#include <sys/conf.h>
-#include <sys/kernel.h>
-#include <sys/linker.h>
-#include <sys/lock.h>
-#include <sys/malloc.h>
-#include <sys/mutex.h>
-#include <sys/queue.h>
-#include <sys/sysctl.h>
-#include <sys/proc.h>
-#include <vm/vm.h>
-#include <vm/vm_kern.h>
-#include <vm/vm_page.h>
-#include <vm/vm_map.h>
-#include <vm/vm_extern.h>
-#include <vm/vm_object.h>
-#include <vm/vm_pager.h>
-#include <machine/md_var.h>
-#include <geom/geom_disk.h>
-
-#ifndef SKI_ROOT_FILESYSTEM
-#define SKI_ROOT_FILESYSTEM "ia64-root.fs"
-#endif
-
-#define SSC_OPEN 50
-#define SSC_CLOSE 51
-#define SSC_READ 52
-#define SSC_WRITE 53
-#define SSC_GET_COMPLETION 54
-#define SSC_WAIT_COMPLETION 55
-
-struct disk_req {
- unsigned long addr;
- unsigned len;
-};
-
-struct disk_stat {
- int fd;
- unsigned count;
-};
-
-static u_int64_t
-ssc(u_int64_t in0, u_int64_t in1, u_int64_t in2, u_int64_t in3, int which)
-{
- register u_int64_t ret0 __asm("r8");
-
- __asm __volatile("mov r15=%1\n\t"
- "break 0x80001"
- : "=r"(ret0)
- : "r"(which), "r"(in0), "r"(in1), "r"(in2), "r"(in3));
- return ret0;
-}
-
-#ifndef SSC_NSECT
-#define SSC_NSECT 409600
-#endif
-
-static MALLOC_DEFINE(M_SSC, "ssc_disk", "Simulator Disk");
-
-static d_strategy_t sscstrategy;
-
-static LIST_HEAD(, ssc_s) ssc_softc_list = LIST_HEAD_INITIALIZER(ssc_softc_list);
-static struct mtx ssc_list_lock;
-MTX_SYSINIT(ssc_list, &ssc_list_lock, "ssc list", MTX_DEF);
-
-struct ssc_s {
- int unit;
- LIST_ENTRY(ssc_s) list;
- struct bio_queue_head bio_queue;
- struct disk *disk;
- struct mtx lock;
- int busy;
- int fd;
-};
-
-static int sscunits;
-
-static void
-sscstrategy(struct bio *bp)
-{
- struct ssc_s *sc;
- struct disk_req req;
- struct disk_stat stat;
- u_long len, va, off;
-
- sc = bp->bio_disk->d_drv1;
-
- mtx_lock(&sc->lock);
- bioq_disksort(&sc->bio_queue, bp);
-
- if (sc->busy) {
- mtx_unlock(&sc->lock);
- return;
- }
- sc->busy++;
-
- for (;;) {
- bp = bioq_takefirst(&sc->bio_queue);
- if (!bp)
- break;
-
- mtx_unlock(&sc->lock);
- va = (u_long) bp->bio_data;
- len = bp->bio_bcount;
- off = bp->bio_pblkno << DEV_BSHIFT;
- while (len > 0) {
- u_int t;
- if ((va & PAGE_MASK) + len > PAGE_SIZE)
- t = PAGE_SIZE - (va & PAGE_MASK);
- else
- t = len;
- req.len = t;
- req.addr = ia64_tpa(va);
- ssc(sc->fd, 1, ia64_tpa((long) &req), off,
- (bp->bio_cmd == BIO_READ) ? SSC_READ : SSC_WRITE);
- stat.fd = sc->fd;
- ssc(ia64_tpa((long)&stat), 0, 0, 0,
- SSC_WAIT_COMPLETION);
- va += t;
- len -= t;
- off += t;
- }
- bp->bio_resid = 0;
- biodone(bp);
- mtx_lock(&sc->lock);
- }
-
- sc->busy = 0;
- mtx_unlock(&sc->lock);
- return;
-}
-
-static struct ssc_s *
-ssccreate(int unit)
-{
- struct ssc_s *sc;
- int fd;
-
- fd = ssc(ia64_tpa((u_int64_t) SKI_ROOT_FILESYSTEM),
- 1, 0, 0, SSC_OPEN);
- if (fd == -1)
- return (NULL);
-
- sc = malloc(sizeof(*sc), M_SSC, M_WAITOK | M_ZERO);
-
- mtx_lock(&ssc_list_lock);
- if (unit == -1)
- unit = sscunits++;
- /* Make sure this unit isn't already in action */
- LIST_FOREACH(sc, &ssc_softc_list, list) {
- if (sc->unit == unit) {
- mtx_unlock(&ssc_list_lock);
- free(sc, M_SSC);
- return (NULL);
- }
- }
- LIST_INSERT_HEAD(&ssc_softc_list, sc, list);
- sc->unit = unit;
- mtx_unlock(&ssc_list_lock);
- bioq_init(&sc->bio_queue);
- mtx_init(&sc->lock, "ssc", NULL, MTX_DEF);
-
- sc->disk = disk_alloc();
- sc->disk->d_drv1 = sc;
- sc->disk->d_fwheads = 0;
- sc->disk->d_fwsectors = 0;
- sc->disk->d_maxsize = DFLTPHYS;
- sc->disk->d_mediasize = (off_t)SSC_NSECT * DEV_BSIZE;
- sc->disk->d_name = "sscdisk";
- sc->disk->d_sectorsize = DEV_BSIZE;
- sc->disk->d_strategy = sscstrategy;
- sc->disk->d_unit = sc->unit;
- disk_create(sc->disk, DISK_VERSION);
- sc->fd = fd;
- if (sc->unit == 0)
- rootdevnames[0] = "ufs:/dev/sscdisk0";
- return (sc);
-}
-
-static void
-ssc_drvinit(void *unused)
-{
- ssccreate(-1);
-}
-
-SYSINIT(sscdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE, ssc_drvinit,NULL);
OpenPOWER on IntegriCloud