#include <linux/config.h>
#include <linux/module.h>
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp_lock.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/pci.h>
#include <linux/types.h>
#include <linux/major.h>
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <linux/devpts_fs.h>
#include <linux/file.h>
#include <linux/console.h>
#include <linux/timer.h>
#include <linux/ctype.h>
#include <linux/kd.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/poll.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/bitops.h>
#include <linux/unistd.h>
#include "dbgstuff.h"
#include "pcsim.h"
Go to the source code of this file.
Classes | |
struct | dspsim_thread_data |
Defines | |
#define | PCDSP_VERSION "V0.1 (C) P.Zahl 2000" |
#define | __KERNEL_SYSCALLS__ |
#define | ACKD_DSP dspsim_td.SrvReqAck |
#define | REQD_DSP dspsim_td.ReqDAck |
#define | TIMEOUT_TICKS 19 |
#define | JIFFIES_SEM 2 |
#define | MAXWAKEUPS_SEM 10 |
#define | MAXWAKEUPS_WMBOX 10 |
#define | MAXWAKEUPS_RMBOX 10 |
#define | MAKE_MY_TIMEOUT_TMR(tmr) |
#define | SEEK_SET 0 |
#define | SEEK_CUR 1 |
#define | SEEK_END 2 |
Functions | |
static | DECLARE_WAIT_QUEUE_HEAD (waitq) |
static | DECLARE_MUTEX_LOCKED (dspsimd_exited) |
static void | timeout (unsigned long ignore) |
void | mysleep (unsigned long myjiffies) |
int | InitEmu (struct dspsim_thread_data *dsp) |
void | ExitEmu (void) |
void | ServiceRequest (struct dspsim_thread_data *dsp) |
int | BoxFull (int wait) |
int | BoxEmpty (int wait) |
int | ChkBoxEmpty (int wait) |
int | WriteBox (unsigned long data, int wait) |
int | ChkBoxFull (int wait) |
int | ReadBox (unsigned long *data, int wait) |
static loff_t | pcdsp_seek (struct file *, loff_t, int) |
static ssize_t | pcdsp_read (struct file *, char *, size_t, loff_t *) |
static ssize_t | pcdsp_write (struct file *, const char *, size_t, loff_t *) |
static int | pcdsp_release (struct inode *, struct file *) |
static int | pcdsp_ioctl (struct inode *, struct file *, unsigned int, unsigned long) |
int | pcdsp_initialize (void) |
void | pcdsp_quit (void) |
int | init_module (void) |
void | cleanup_module (void) |
static int | dspsim_thread (void *data) |
void | start_dsp (struct dspsim_thread_data *dsp) |
void | stop_dsp (struct dspsim_thread_data *dsp) |
static int | pcdsp_open (struct inode *inode, struct file *f) |
int | pcdsp_read_proc (char *page, char **start, off_t off, int count, int *eof, void *data) |
Variables | |
static devfs_handle_t | devfs_handle = NULL |
static int | opened |
static char * | pcdsp_dprambaseptr |
static int | wakeups = -1 |
dspsim_thread_data | dspsim_td |
file_operations | pcdsp_fops |
|
|
|
Definition at line 134 of file dspemu.c. Referenced by BoxFull(), ServiceRequest(), and WriteBox(). |
|
|
|
Value: struct timer_list tmr; \ init_timer(&tmr); \ tmr.function = timeout; \ tmr.data = 0 |
|
Definition at line 146 of file dspemu.c. Referenced by BoxEmpty(), and BoxFull(). |
|
|
|
Definition at line 145 of file dspemu.c. Referenced by BoxEmpty(), and BoxFull(). |
|
Definition at line 41 of file dspemu.c. Referenced by pcdsp_initialize(). |
|
Definition at line 135 of file dspemu.c. Referenced by BoxEmpty(), ServiceRequest(), and WriteBox(). |
|
Definition at line 403 of file dspemu.c. Referenced by pcdsp_seek(). |
|
Definition at line 404 of file dspemu.c. Referenced by pcdsp_seek(). |
|
Definition at line 402 of file dspemu.c. Referenced by FileCheck(), innovative_dsp_hwi_dev::innovative_dsp_hwi_dev(), nano_manipulatorControl::nano_manipulatorControl(), pcdsp_seek(), and WSxM_ImExportFile::WSxMRead(). |
|
|
|
Definition at line 330 of file dspemu.c. References FALSE, KDEBUG_L2, MAKE_MY_TIMEOUT_TMR, MAXWAKEUPS_RMBOX, MAXWAKEUPS_WMBOX, REQD_DSP, TIMEOUT_TICKS, TRUE, waitq, and wakeups. Referenced by ChkBoxEmpty(), and WriteBox(). |
|
Definition at line 307 of file dspemu.c. References ACKD_DSP, FALSE, KDEBUG_L2, MAKE_MY_TIMEOUT_TMR, MAXWAKEUPS_RMBOX, MAXWAKEUPS_WMBOX, TIMEOUT_TICKS, TRUE, waitq, and wakeups. Referenced by ChkBoxFull(), and ReadBox(). |
|
Definition at line 353 of file dspemu.c. References BoxEmpty(), FALSE, and TRUE. Referenced by pcdsp_ioctl(). |
|
Definition at line 375 of file dspemu.c. References BoxFull(), FALSE, and TRUE. Referenced by pcdsp_ioctl(). |
|
|
|
|
|
|
|
Definition at line 217 of file dspemu.c. References dspsim_thread_data::active, KDEBUG, KDEBUG_L3, ServiceRequest(), signal_pending, and dspsim_thread_data::wq. Referenced by start_dsp(). |
|
Definition at line 196 of file dspemu.c. Referenced by pcdsp_quit(). |
|
|
|
Definition at line 195 of file dspemu.c. Referenced by pcdsp_initialize(). |
|
|
|
Definition at line 503 of file dspemu.c. References dspsim_td, FALSE, InitEmu(), KDEBUG, KDEBUG_L1, opened, PCDSP_DPRAM_SIZE, pcdsp_dprambaseptr, PCDSP_VERSION, dspsim_thread_data::ReqDAck, dspsim_thread_data::SrvReqAck, start_dsp(), TRUE, and dspsim_thread_data::virtual_dpram. |
|
Definition at line 459 of file dspemu.c. References ChkBoxEmpty(), ChkBoxFull(), FALSE, KDEBUG, MODID, PCDSP_GETMODID, PCDSP_HALT, PCDSP_MBOX_EMPTY, PCDSP_MBOX_FULL, PCDSP_MBOX_READ_NOWAIT, PCDSP_MBOX_READ_WAIT, PCDSP_MBOX_WRITE_NOWAIT, PCDSP_MBOX_WRITE_WAIT, PCDSP_PUT_SPEED, PCDSP_RESET, PCDSP_RUN, ReadBox(), TRUE, and WriteBox(). |
|
|
|
Definition at line 532 of file dspemu.c. References dspsim_td, ExitEmu(), KDEBUG, stop_dsp(), and dspsim_thread_data::virtual_dpram. |
|
Definition at line 423 of file dspemu.c. References KDEBUG_L2, PCDSP_DPRAM_SIZE, and pcdsp_dprambaseptr. |
|
Definition at line 543 of file dspemu.c. References DSP_LCDBUFFER, dspsim_td, opened, and dspsim_thread_data::virtual_dpram. |
|
|
|
Definition at line 407 of file dspemu.c. References KDEBUG, PCDSP_DPRAM_SIZE, SEEK_CUR, SEEK_END, and SEEK_SET. |
|
Definition at line 434 of file dspemu.c. References KDEBUG_L2, PCDSP_DPRAM_SIZE, and pcdsp_dprambaseptr. |
|
Definition at line 382 of file dspemu.c. References BoxFull(), FALSE, and TRUE. Referenced by pcdsp_ioctl(). |
|
Definition at line 197 of file dspemu.c. References ACKD_DSP, FALSE, REQD_DSP, TRUE, and dspsim_thread_data::virtual_dpram. Referenced by dspsim_thread(). |
|
Definition at line 246 of file dspemu.c. References dspsim_thread_data::active, dspsim_thread(), KDEBUG, dspsim_thread_data::thread, and dspsim_thread_data::wq. Referenced by pcdsp_initialize(). |
|
Definition at line 263 of file dspemu.c. References dspsim_thread_data::active, KDEBUG, mysleep(), and dspsim_thread_data::thread. Referenced by pcdsp_quit(). |
|
|
|
Definition at line 360 of file dspemu.c. References ACKD_DSP, dspsim_thread_data::active, BoxEmpty(), dspsim_td, FALSE, KDEBUG, REQD_DSP, TRUE, and dspsim_thread_data::wq. Referenced by pcdsp_ioctl(). |
|
|
|
Definition at line 132 of file dspemu.c. Referenced by pcdsp_initialize(), pcdsp_quit(), pcdsp_read_proc(), and WriteBox(). |
|
|
|
Definition at line 109 of file dspemu.c. Referenced by pcdsp_initialize(), pcdsp_ioctl(), pcdsp_read(), and pcdsp_write(). |
|
Initial value: { llseek: pcdsp_seek, read: pcdsp_read, write: pcdsp_write, ioctl: pcdsp_ioctl, open: pcdsp_open, release: pcdsp_release, } |
|
Definition at line 112 of file dspemu.c. Referenced by BoxEmpty(), BoxFull(), ChanneltronCounts(), get_dport_range(), and timeout(). |