#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(). |
1.4.6