I learned how to spell PSEUDO

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5010 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo
2012-08-05 17:44:11 +00:00
parent 60889d41f6
commit fca1ea81db
35 changed files with 1644 additions and 1645 deletions
+1 -1
View File
@@ -30,5 +30,5 @@ device.c
device.c implements a simple device driver. Reads from this device device.c implements a simple device driver. Reads from this device
will access the in-memory copy of hello.pex This device driver is will access the in-memory copy of hello.pex This device driver is
registered as /dev/pashello in the psuedo filesystem. registered as /dev/pashello in the pseudo filesystem.
+8 -8
View File
@@ -505,14 +505,14 @@ o mkfatfs <path>
Format a fat file system on the block device specified by path. Format a fat file system on the block device specified by path.
NSH provides this command to access the mkfatfs() NuttX API. NSH provides this command to access the mkfatfs() NuttX API.
This block device must reside in the NuttX psuedo filesystem and This block device must reside in the NuttX pseudo filesystem and
must have been created by some call to register_blockdriver() (see must have been created by some call to register_blockdriver() (see
include/nuttx/fs/fs.h). include/nuttx/fs/fs.h).
o mkfifo <path> o mkfifo <path>
Creates a FIFO character device anywhere in the pseudo file system, Creates a FIFO character device anywhere in the pseudo file system,
creating whatever psuedo directories that may be needed to complete creating whatever pseudo directories that may be needed to complete
the full path. By convention, however, device drivers are place in the full path. By convention, however, device drivers are place in
the standard /dev directory. After it is created, the FIFO device the standard /dev directory. After it is created, the FIFO device
may be used as any other device driver. NSH provides this command may be used as any other device driver. NSH provides this command
@@ -584,7 +584,7 @@ o mount [-t <fstype> <block-device> <dir-path>]
If the mount parameters are provied on the command after the 'mount' If the mount parameters are provied on the command after the 'mount'
command, then the 'mount' command will mount a file system in the command, then the 'mount' command will mount a file system in the
NuttX psuedo-file system. 'mount' performs a three way association, NuttX pseudo-file system. 'mount' performs a three way association,
binding: binding:
File system. The '-t <fstype>' option identifies the type of File system. The '-t <fstype>' option identifies the type of
@@ -592,19 +592,19 @@ o mount [-t <fstype> <block-device> <dir-path>]
of this writing, vfat is the only supported value for <fstype> of this writing, vfat is the only supported value for <fstype>
Block Device. The <block-device> argument is the full or relative Block Device. The <block-device> argument is the full or relative
path to a block driver inode in the psuedo filesystem. By convention, path to a block driver inode in the pseudo filesystem. By convention,
this is a name under the /dev sub-directory. This <block-device> this is a name under the /dev sub-directory. This <block-device>
must have been previously formatted with the same file system must have been previously formatted with the same file system
type as specified by <fstype> type as specified by <fstype>
Mount Point. The mount point is the location in the psuedo file Mount Point. The mount point is the location in the pseudo file
system where the mounted volume will appear. This mount point system where the mounted volume will appear. This mount point
can only reside in the NuttX psuedo filesystem. By convention, this can only reside in the NuttX pseudo filesystem. By convention, this
mount point is a subdirectory under /mnt. The mount command will mount point is a subdirectory under /mnt. The mount command will
create whatever psuedo directories that may be needed to complete create whatever pseudo directories that may be needed to complete
the full path but the full path must not already exist. the full path but the full path must not already exist.
After the volume has been mounted in the NuttX psuedo file After the volume has been mounted in the NuttX pseudo file
system, it may be access in the same way as other objects in the system, it may be access in the same way as other objects in the
file system. file system.
+8 -9
View File
@@ -88,12 +88,12 @@
# define MAX_ARGV_ENTRIES (NSH_MAX_ARGUMENTS+4) # define MAX_ARGV_ENTRIES (NSH_MAX_ARGUMENTS+4)
#endif #endif
/* Help layout */ /* Help command summary layout */
#define MAX_CMDLEN 12 #define MAX_CMDLEN 12
#define CMDS_PER_LINE 5 #define CMDS_PER_LINE 6
#define NUM_CMDS (sizeof(g_cmdmap)/sizeof(struct cmdmap_s)) #define NUM_CMDS ((sizeof(g_cmdmap)/sizeof(struct cmdmap_s)) - 1)
#define NUM_CMD_ROWS ((NUM_CMDS + (CMDS_PER_LINE-1)) / CMDS_PER_LINE) #define NUM_CMD_ROWS ((NUM_CMDS + (CMDS_PER_LINE-1)) / CMDS_PER_LINE)
/**************************************************************************** /****************************************************************************
@@ -443,7 +443,7 @@ static inline void help_cmdlist(FAR struct nsh_vtbl_s *vtbl)
for (i = 0; i < NUM_CMD_ROWS; i++) for (i = 0; i < NUM_CMD_ROWS; i++)
{ {
nsh_output(vtbl, " "); nsh_output(vtbl, " ");
for (j = 0, k = i; j < CMDS_PER_LINE && k < NUM_CMDS; j++, k += CMDS_PER_LINE) for (j = 0, k = i; j < CMDS_PER_LINE && k < NUM_CMDS; j++, k += NUM_CMD_ROWS)
{ {
nsh_output(vtbl, "%-12s", g_cmdmap[k].cmd); nsh_output(vtbl, "%-12s", g_cmdmap[k].cmd);
} }
@@ -516,6 +516,7 @@ static int help_cmd(FAR struct nsh_vtbl_s *vtbl, FAR const char *cmd)
{ {
/* Yes... show it */ /* Yes... show it */
nsh_output(vtbl, "%s usage:", cmd);
help_showcmd(vtbl, cmdmap); help_showcmd(vtbl, cmdmap);
return OK; return OK;
} }
@@ -574,14 +575,14 @@ static inline void help_builtins(FAR struct nsh_vtbl_s *vtbl)
static int cmd_help(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) static int cmd_help(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{ {
FAR const char *cmd = NULL; FAR const char *cmd = NULL;
#ifdef CONFIG_NSH_HELP_TERSE #ifndef CONFIG_NSH_HELP_TERSE
bool verbose = false; bool verbose = false;
int i; int i;
#endif #endif
/* The command may be followed by a verbose option */ /* The command may be followed by a verbose option */
#ifdef CONFIG_NSH_HELP_TERSE #ifndef CONFIG_NSH_HELP_TERSE
i = 1; i = 1;
if (argc > i) if (argc > i)
{ {
@@ -618,14 +619,13 @@ static int cmd_help(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{ {
/* Yes.. show the single command */ /* Yes.. show the single command */
nsh_output(vtbl, "%s usage:", cmd);
help_cmd(vtbl, cmd); help_cmd(vtbl, cmd);
} }
else else
{ {
/* In verbose mode, show detailed help for all commands */ /* In verbose mode, show detailed help for all commands */
#ifdef CONFIG_NSH_HELP_TERSE #ifndef CONFIG_NSH_HELP_TERSE
if (verbose) if (verbose)
{ {
nsh_output(vtbl, "Where <cmd> is one of:\n"); nsh_output(vtbl, "Where <cmd> is one of:\n");
@@ -637,7 +637,6 @@ static int cmd_help(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
else else
#endif #endif
{ {
nsh_output(vtbl, "help usage:");
help_cmd(vtbl, "help"); help_cmd(vtbl, "help");
nsh_output(vtbl, "\n"); nsh_output(vtbl, "\n");
help_cmdlist(vtbl); help_cmdlist(vtbl);
+204 -204
View File
@@ -1,204 +1,204 @@
/*********************************************************************** /***********************************************************************
* podefs.h * podefs.h
* Logical P-code operation code definitions * Logical P-code operation code definitions
* *
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
* are met: * are met:
* *
* 1. Redistributions of source code must retain the above copyright * 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright * 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name NuttX nor the names of its contributors may be * 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
***********************************************************************/ ***********************************************************************/
#ifndef __PODEFS_H #ifndef __PODEFS_H
#define __PODEFS_H #define __PODEFS_H
/* These definitions represent logical operations as needed by the /* These definitions represent logical operations as needed by the
* the compiler. The specific INSN generation layer must interpret * the compiler. The specific INSN generation layer must interpret
* these requests as is appropriate to the supported INSNS. * these requests as is appropriate to the supported INSNS.
*/ */
enum pcode_e enum pcode_e
{ {
/**------------------------------------------------------------------- /**-------------------------------------------------------------------
* OPCODES WITH NO ARGUMENTS * OPCODES WITH NO ARGUMENTS
**-------------------------------------------------------------------**/ **-------------------------------------------------------------------**/
/* Program control (No stack arguments) */ /* Program control (No stack arguments) */
opNOP = 0, opNOP = 0,
/* Arithmetic & logical & and integer conversions (One stack argument) */ /* Arithmetic & logical & and integer conversions (One stack argument) */
opNEG, opABS, opINC, opDEC, opNOT, opNEG, opABS, opINC, opDEC, opNOT,
/* Arithmetic & logical (Two stack arguments) */ /* Arithmetic & logical (Two stack arguments) */
opADD, opSUB, opMUL, opDIV, opMOD, opSLL, opSRL, opSRA, opOR, opAND, opADD, opSUB, opMUL, opDIV, opMOD, opSLL, opSRL, opSRA, opOR, opAND,
/* Comparisons (One stack argument) */ /* Comparisons (One stack argument) */
opEQUZ, opNEQZ, opLTZ, opGTEZ, opGTZ, opLTEZ, opEQUZ, opNEQZ, opLTZ, opGTEZ, opGTZ, opLTEZ,
/* Comparisons (Two stack arguments) */ /* Comparisons (Two stack arguments) */
opEQU, opNEQ, opLT, opGTE, opGT, opLTE, opEQU, opNEQ, opLT, opGTE, opGT, opLTE,
opBIT, opBIT,
/* Load Immediate */ /* Load Immediate */
opLDI, opLDIB, opLDIM, opLDI, opLDIB, opLDIM,
/* Store Immediate */ /* Store Immediate */
opSTI, opSTIB, opSTIM, opSTI, opSTIB, opSTIM,
/* Data stack */ /* Data stack */
opDUP, opPUSHS, opPOPS, opDUP, opPUSHS, opPOPS,
/* Program control (No stack arguments) /* Program control (No stack arguments)
* Behavior: * Behavior:
* Pop return address * Pop return address
* Pop saved base register (BR) * Pop saved base register (BR)
* Discard saved base address * Discard saved base address
* Set program counter (PC) to return address * Set program counter (PC) to return address
*/ */
opRET, opRET,
/* System Functions (No stack arguments) */ /* System Functions (No stack arguments) */
opEND, opEND,
/**------------------------------------------------------------------- /**-------------------------------------------------------------------
** OPCODES WITH ONE ARGUMENT ** OPCODES WITH ONE ARGUMENT
**-------------------------------------------------------------------**/ **-------------------------------------------------------------------**/
/* Floating point operations: arg = FP op-code */ /* Floating point operations: arg = FP op-code */
opFLOAT, opFLOAT,
/* Program control: arg = unsigned label (One stack argument) */ /* Program control: arg = unsigned label (One stack argument) */
opJEQUZ, opJNEQZ, opJEQUZ, opJNEQZ,
/* Program control: arg = unsigned label (no stack arguments) */ /* Program control: arg = unsigned label (no stack arguments) */
opJMP, opJMP,
/* Program control: arg = unsigned label (One stack argument) */ /* Program control: arg = unsigned label (One stack argument) */
opJEQU, opJNEQ, opJLT, opJGTE, opJGT, opJLTE, opJEQU, opJNEQ, opJLT, opJGTE, opJGT, opJLTE,
/* Load: arg = unsigned base offset */ /* Load: arg = unsigned base offset */
opLD, opLDH, opLDB, opLDM, opLD, opLDH, opLDB, opLDM,
/* Store: arg = unsigned base offset */ /* Store: arg = unsigned base offset */
opST, opSTB, opSTM, opST, opSTB, opSTM,
/* Load Indexed: arg = unsigned base offset */ /* Load Indexed: arg = unsigned base offset */
opLDX, opLDXB, opLDXM, opLDX, opLDXB, opLDXM,
/* Store Indexed: arg16 = unsigned base offset */ /* Store Indexed: arg16 = unsigned base offset */
opSTX, opSTXB, opSTXM, opSTX, opSTXB, opSTXM,
/* Load address relative to stack base: arg = unsigned offset */ /* Load address relative to stack base: arg = unsigned offset */
opLA, opLA,
/* Load absolute stack address: arg = RODATA offset (No stack arguments) */ /* Load absolute stack address: arg = RODATA offset (No stack arguments) */
opLAC, opLAC,
/* Data stack: arg = 16 bit signed data (no stack arguments) */ /* Data stack: arg = 16 bit signed data (no stack arguments) */
opPUSH, opINDS, opPUSH, opINDS,
/* Load address relative to stack base: arg1 = unsigned offset, TOS=index */ /* Load address relative to stack base: arg1 = unsigned offset, TOS=index */
opLAX, opLAX,
/* System functions: arg = 16-bit library call identifier */ /* System functions: arg = 16-bit library call identifier */
opLIB, opLIB,
/* Program control: arg = unsigned label (no stack arguments) */ /* Program control: arg = unsigned label (no stack arguments) */
opLABEL, opLABEL,
/**------------------------------------------------------------------- /**-------------------------------------------------------------------
** OPCODES WITH TWO ARGUMENTS ** OPCODES WITH TWO ARGUMENTS
**-------------------------------------------------------------------**/ **-------------------------------------------------------------------**/
/* Program Control: arg1 = level; arg2 = unsigned label */ /* Program Control: arg1 = level; arg2 = unsigned label */
opPCAL, opPCAL,
/* Load: arg1 = level; arg2 = signed frame offset */ /* Load: arg1 = level; arg2 = signed frame offset */
opLDS, opLDSH, opLDSB, opLDSM, opLDS, opLDSH, opLDSB, opLDSM,
/* Store: arg1 = level; arg2 = signed frame offset */ /* Store: arg1 = level; arg2 = signed frame offset */
opSTS, opSTSB, opSTSM, opSTS, opSTSB, opSTSM,
/* Load Indexed: arg1 = level; arg2 = signed frame offset */ /* Load Indexed: arg1 = level; arg2 = signed frame offset */
opLDSX, opLDSXB, opLDSXM, opLDSX, opLDSXB, opLDSXM,
/* Store Indexed: arg1 = level; arg2 = signed frame offset */ /* Store Indexed: arg1 = level; arg2 = signed frame offset */
opSTSX, opSTSXB, opSTSXM, opSTSX, opSTSXB, opSTSXM,
/* FOR LAS/LASX arg1 = level; arg2 = signed frame offset /* FOR LAS/LASX arg1 = level; arg2 = signed frame offset
* (no stack arguments) * (no stack arguments)
*/ */
opLAS, opLASX, opLAS, opLASX,
/* System calls: /* System calls:
* For SYSIO: arg1 = file number; arg2 = sub-function code * For SYSIO: arg1 = file number; arg2 = sub-function code
*/ */
opSYSIO, opSYSIO,
/* Psuedo-operations: /* Pseudo-operations:
* For LINE: arg1 = file number; arg2 = line number * For LINE: arg1 = file number; arg2 = line number
*/ */
opLINE, opLINE,
NUM_OPCODES NUM_OPCODES
}; };
#endif /* __PODEFS_H */ #endif /* __PODEFS_H */
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -431,7 +431,7 @@ static const struct
/* 0xfd */ { invOp, NOARG16 }, /* 0xfd */ { invOp, NOARG16 },
/* 0xfe */ { invOp, NOARG16 }, /* 0xfe */ { invOp, NOARG16 },
/* Psuedo-operations: /* Pseudo-operations:
* For LINE: arg8 = file number; arg16 = line number * For LINE: arg8 = file number; arg16 = line number
*/ */
+1 -1
View File
@@ -2185,7 +2185,7 @@ static int pexec32(FAR struct pexec_s *st, uint8_t opcode, uint8_t imm8, uint16_
ret = pexec_sysio(st, imm8, imm16); ret = pexec_sysio(st, imm8, imm16);
break; break;
/* Psuedo-operations: (No stack arguments) /* Pseudo-operations: (No stack arguments)
* For LINE: imm8 = file number; imm16 = line number * For LINE: imm8 = file number; imm16 = line number
*/ */
+119 -119
View File
@@ -1,119 +1,119 @@
32-bit op-code bit definitions 32-bit op-code bit definitions
Machine model: Machine model:
SPB 32-bit Pascal stack base address SPB 32-bit Pascal stack base address
SP 32-bit Pascal stack pointer SP 32-bit Pascal stack pointer
LSP 32-bit Level stack pointer LSP 32-bit Level stack pointer
CSB 32-bit Character stack base address CSB 32-bit Character stack base address
CSP 32-bit Character stack pointer CSP 32-bit Character stack pointer
DS 32-bit Data size register (for multiple reg transfers) DS 32-bit Data size register (for multiple reg transfers)
PC 32-bit Program Counter PC 32-bit Program Counter
CC Condition code register CC Condition code register
--- Volatile general purpose registers --- Volatile general purpose registers
--- Static general purpose registers --- Static general purpose registers
Condition codes: Z(ero), N(egative) Condition codes: Z(ero), N(egative)
+=====+=====+ +=====+=====+
| Z | N | | Z | N |
+=====+=====+=====+ +=====+=====+=====+
| EQ | 1 | - | | EQ | 1 | - |
| NEQ | 0 | - | | NEQ | 0 | - |
| LT | - | 1 | | LT | - | 1 |
| GTE | - | 0 | | GTE | - | 0 |
| GT | 0 | 0 | | GT | 0 | 0 |
| LTE | 1 | 1 | | LTE | 1 | 1 |
+=====+=====+=====+ +=====+=====+=====+
Opcode Encoding Summary: Opcode Encoding Summary:
0rxx xxxx 1rxxx xxxx 0rxx xxxx 1rxxx xxxx
xr00 0000 NOP LD uoffs4 xr00 0000 NOP LD uoffs4
xr00 0001 NEG LDH uoffs3 xr00 0001 NEG LDH uoffs3
xr00 0010 ABS LDB uoffs xr00 0010 ABS LDB uoffs
xr00 0011 INC LDM uoffs4 xr00 0011 INC LDM uoffs4
xr00 0100 DEC ST uoffs4 xr00 0100 DEC ST uoffs4
xr00 0101 NOT STH uoffs2 xr00 0101 NOT STH uoffs2
xr00 0110 ADD STB uoffs xr00 0110 ADD STB uoffs
xr00 0111 SUB STM uoffs4 xr00 0111 SUB STM uoffs4
xr00 1000 MUL LDX uoffs4 xr00 1000 MUL LDX uoffs4
xr00 1001 DIV LDXH uoffs2 xr00 1001 DIV LDXH uoffs2
xr00 1010 MOD LDXB uoffs xr00 1010 MOD LDXB uoffs
xr00 1011 SLL LDXM uoffs4 xr00 1011 SLL LDXM uoffs4
xr00 1100 SRL STX uoffs4 xr00 1100 SRL STX uoffs4
xr00 1101 SRA STXH uoffs2 xr00 1101 SRA STXH uoffs2
xr00 1110 OR STXB uoffs xr00 1110 OR STXB uoffs
xr00 1111 AND STXM uoffs xr00 1111 AND STXM uoffs
xr01 0000 EQUZ JEQUZ ilbl xr01 0000 EQUZ JEQUZ ilbl
xr01 0001 NEQZ JNEQZ ilbl xr01 0001 NEQZ JNEQZ ilbl
xr01 0010 LTZ JLTZ ilbl xr01 0010 LTZ JLTZ ilbl
xr01 0011 GTEZ JGTEZ ilbl xr01 0011 GTEZ JGTEZ ilbl
xr01 0100 GTZ JGTZ ilbl xr01 0100 GTZ JGTZ ilbl
xr01 0101 LTEZ JLTEZ ilbl xr01 0101 LTEZ JLTEZ ilbl
xr01 0110 --- JMP ilbl xr01 0110 --- JMP ilbl
xr01 0111 --- PUSH nn xr01 0111 --- PUSH nn
xr01 1000 EQU JEQU ilbl xr01 1000 EQU JEQU ilbl
xr01 1001 NEQ JNEQ ilbl xr01 1001 NEQ JNEQ ilbl
xr01 1010 LT JLT ilbl xr01 1010 LT JLT ilbl
xr01 1011 GTE JGTE ilbl xr01 1011 GTE JGTE ilbl
xr01 1100 GT JGT ilbl xr01 1100 GT JGT ilbl
xr01 1101 LTE JLTE ilbl xr01 1101 LTE JLTE ilbl
xr01 1110 --- --- xr01 1110 --- ---
xr01 1111 BIT INDS nn xr01 1111 BIT INDS nn
xr10 0000 LDI LDS offs4 xr10 0000 LDI LDS offs4
xr10 0001 LDIH LDSH offs3 xr10 0001 LDIH LDSH offs3
xr10 0010 LDIB LDSB offs xr10 0010 LDIB LDSB offs
xr10 0011 LDIM LDSM offs4 xr10 0011 LDIM LDSM offs4
xr10 0100 STI STS offs4 xr10 0100 STI STS offs4
xr10 0101 STIH STSH offs2 xr10 0101 STIH STSH offs2
xr10 0110 STIB STSB offs xr10 0110 STIB STSB offs
xr10 0111 STIM STSM offs4 xr10 0111 STIM STSM offs4
xr10 1000 DUP LDSX offs4 xr10 1000 DUP LDSX offs4
xr10 1001 --- LDSXH offs2 xr10 1001 --- LDSXH offs2
xr10 1010 PUSHS LDSXB offs xr10 1010 PUSHS LDSXB offs
xr10 1011 POPS LDSXM offs4 xr10 1011 POPS LDSXM offs4
xr10 1100 --- STSX offs4 xr10 1100 --- STSX offs4
xr10 1101 --- STSXH offs2 xr10 1101 --- STSXH offs2
xr10 1110 --- STSXB offs xr10 1110 --- STSXB offs
xr10 1111 RET STSXM offs xr10 1111 RET STSXM offs
xr11 0000 --- LA uoffs xr11 0000 --- LA uoffs
xr11 0001 --- LAS offs xr11 0001 --- LAS offs
xr11 0010 --- LAC dlbl xr11 0010 --- LAC dlbl
xr11 0011 --- --- xr11 0011 --- ---
xr11 0100 --- LAX uoffs xr11 0100 --- LAX uoffs
xr11 0101 --- LASX offs xr11 0101 --- LASX offs
xr11 0110 --- SLSP level xr11 0110 --- SLSP level
xr11 0111 --- SDC uu xr11 0111 --- SDC uu
xr11 1000 --- --- xr11 1000 --- ---
xr11 1001 --- PCAL ilbl xr11 1001 --- PCAL ilbl
xr11 1010 --- SYSIO fn,sop xr11 1010 --- SYSIO fn,sop
xr11 1011 --- LIB lop xr11 1011 --- LIB lop
xr11 1100 --- FLOAT fop xr11 1100 --- FLOAT fop
xr11 1101 --- *LABEL ilbl xr11 1101 --- *LABEL ilbl
xr11 1110 --- *INCLUDE fn xr11 1110 --- *INCLUDE fn
xr11 1111 END *LINE lineno xr11 1111 END *LINE lineno
KEY: KEY:
r = Reserved bit (must be zero) r = Reserved bit (must be zero)
fn = 8-bit file number fn = 8-bit file number
lvl = 8-bit static nexting level lvl = 8-bit static nexting level
sop = 17-bit sysio operation sop = 17-bit sysio operation
lineno = 17-bit line number lineno = 17-bit line number
nn = 32-bit constant value (signed) nn = 32-bit constant value (signed)
uu = 32-bit constant value (unsigned) uu = 32-bit constant value (unsigned)
fop = 32-bit floating point operation fop = 32-bit floating point operation
lop = 32-bit library call identifier lop = 32-bit library call identifier
ilbl = 32-bit Instruction space label number ilbl = 32-bit Instruction space label number
dlbl = 32-stack data label dlbl = 32-stack data label
offs4 = 32-bit word offset with respect to LSP (signed) offs4 = 32-bit word offset with respect to LSP (signed)
offs2 = 32-bit halfword offset with respect to LSP (signed) offs2 = 32-bit halfword offset with respect to LSP (signed)
offs = 32-bit byte offset with respect to LSP (signed) offs = 32-bit byte offset with respect to LSP (signed)
uoffs4 = 32-bit word offset with respect to SPB (unsigned) uoffs4 = 32-bit word offset with respect to SPB (unsigned)
uoffs2 = 32-bit halfword offset with respect to SPB (unsigned) uoffs2 = 32-bit halfword offset with respect to SPB (unsigned)
uoffs = 32-bit byte offset with respect to SPB (unsigned) uoffs = 32-bit byte offset with respect to SPB (unsigned)
c = string follows psuedo-operation c = string follows pseudo-operation
= Indicates pseudo-operations (these are removed = Indicates pseudo-operations (these are removed
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -303,7 +303,7 @@ static const struct optab_s g_sArg32OpTable[64] =
/* 0xbd */ { NULL, LABEL_DEC }, /* 0xbd */ { NULL, LABEL_DEC },
/* Psuedo-operations: arg = file number OR line number */ /* Pseudo-operations: arg = file number OR line number */
/* 0xbe */ { "INCLUDE ", FILENO }, /* 0xbe */ { "INCLUDE ", FILENO },
/* 0xbf */ { "LINE ", LINENO }, /* 0xbf */ { "LINE ", LINENO },
+1 -1
View File
@@ -272,7 +272,7 @@ void pas_GenerateIoOperation(uint16_t ioOpcode, uint16_t fileNumber)
} }
/***********************************************************************/ /***********************************************************************/
/* Generate a psuedo call to a built-in, standard pascal function */ /* Generate a pseudo call to a built-in, standard pascal function */
void pas_BuiltInFunctionCall(uint16_t libOpcode) void pas_BuiltInFunctionCall(uint16_t libOpcode)
{ {
+1 -1
View File
@@ -3119,7 +3119,7 @@
function called stm32_clockenable() that can be used by PM logic to re-start function called stm32_clockenable() that can be used by PM logic to re-start
the PLL after re-awakening from deep sleep modes. the PLL after re-awakening from deep sleep modes.
* fs/fs_foreachinode.c and fs/fs_foreachmountpoint.c: All logic to traverse * fs/fs_foreachinode.c and fs/fs_foreachmountpoint.c: All logic to traverse
inodes and mountpoints in the NuttX psuedo-file system. inodes and mountpoints in the NuttX pseudo-file system.
* fs/fat/fs_fat32.c: Max. filename length reported by statfs() was wrong * fs/fat/fs_fat32.c: Max. filename length reported by statfs() was wrong
if FAT long file names were enabled. if FAT long file names were enabled.
* lib/stdio/lib_libvsprintf.c: Fieldwidth and justification were not * lib/stdio/lib_libvsprintf.c: Fieldwidth and justification were not
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1400,7 +1400,7 @@ mkfifo &lt;path&gt;
<p> <p>
<b>Synopsis</b>. <b>Synopsis</b>.
Creates a FIFO character device anywhere in the pseudo file system, creating Creates a FIFO character device anywhere in the pseudo file system, creating
whatever psuedo directories that may be needed to complete the <code>&lt;path&gt;</code>. whatever pseudo directories that may be needed to complete the <code>&lt;path&gt;</code>.
By convention, however, device drivers are place in the standard <code>/dev</code> directory. By convention, however, device drivers are place in the standard <code>/dev</code> directory.
After it is created, the FIFO device may be used as any other device driver. After it is created, the FIFO device may be used as any other device driver.
NSH provides this command to access the <a href="NuttxUserGuide.html#mkfifo"><code>mkfifo()</code></a> NuttX API. NSH provides this command to access the <a href="NuttxUserGuide.html#mkfifo"><code>mkfifo()</code></a> NuttX API.
@@ -1492,7 +1492,7 @@ mount -t &lt;fstype&gt; &lt;block-device&gt; <code>&lt;dir-path&gt;</code>
If no paramters are provided on the command line after the <code>mount</code> command, then the <code>mount</code> command will enumerate all of the current mountpoints on the console. If no paramters are provided on the command line after the <code>mount</code> command, then the <code>mount</code> command will enumerate all of the current mountpoints on the console.
</p> </p>
<p> <p>
If the mount parameters are provied on the command after the <code>mount</code> command, then the <code>mount</code> command will mount a file system in the NuttX psuedo-file system. If the mount parameters are provied on the command after the <code>mount</code> command, then the <code>mount</code> command will mount a file system in the NuttX pseudo-file system.
<code>mount</code>' performs a three way association, binding: <code>mount</code>' performs a three way association, binding:
</p> </p>
<ol> <ol>
@@ -1513,7 +1513,7 @@ mount -t &lt;fstype&gt; &lt;block-device&gt; <code>&lt;dir-path&gt;</code>
<a href="NuttxUserGuide.html#FileSystemOverview"><i>pseudo</i> filesystem</a> where the mounted volume will appear. <a href="NuttxUserGuide.html#FileSystemOverview"><i>pseudo</i> filesystem</a> where the mounted volume will appear.
This mount point can only reside in the NuttX <a href="NuttxUserGuide.html#FileSystemOverview"><i>pseudo</i> filesystem</a>. This mount point can only reside in the NuttX <a href="NuttxUserGuide.html#FileSystemOverview"><i>pseudo</i> filesystem</a>.
By convention, this mount point is a subdirectory under <code>/mnt</code>. By convention, this mount point is a subdirectory under <code>/mnt</code>.
The mount command will create whatever psuedo directories that may be needed to complete the The mount command will create whatever pseudo directories that may be needed to complete the
full path but the full path must not already exist. full path but the full path must not already exist.
</li> </li>
</ol> </ol>
+2 -2
View File
@@ -703,9 +703,9 @@ o File system / Generic drivers (fs/, drivers/)
Title: REMOVING PIPES AND FIFOS Title: REMOVING PIPES AND FIFOS
Description: There is no way to remove a FIFO or PIPE created in the Description: There is no way to remove a FIFO or PIPE created in the
psuedo filesystem. Once created, they persist indefinitely pseudo filesystem. Once created, they persist indefinitely
and cannot be unlinked. This is actually a more generic and cannot be unlinked. This is actually a more generic
issue: unlink does not work for anything in the psuedo- issue: unlink does not work for anything in the pseudo-
filesystem. filesystem.
Status: Open, but partially resolved: pipe buffer is at least freed Status: Open, but partially resolved: pipe buffer is at least freed
when there are not open references to the pipe/FIFO. when there are not open references to the pipe/FIFO.
+1 -1
View File
@@ -413,7 +413,7 @@ host operations. To make these modifications, do the following:
When this change is made, NSH should be extended to support USB flash When this change is made, NSH should be extended to support USB flash
devices. When a FLASH device is inserted, you should see a device devices. When a FLASH device is inserted, you should see a device
appear in the /dev (psuedo) directory. The device name should be appear in the /dev (pseudo) directory. The device name should be
like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present
it can be mounted from the NSH command line like: it can be mounted from the NSH command line like:
+1 -1
View File
@@ -829,7 +829,7 @@ host operations. To make these modifications, do the following:
When this change is made, NSH should be extended to support USB flash When this change is made, NSH should be extended to support USB flash
devices. When a FLASH device is inserted, you should see a device devices. When a FLASH device is inserted, you should see a device
appear in the /dev (psuedo) directory. The device name should be appear in the /dev (pseudo) directory. The device name should be
like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present
it can be mounted from the NSH command line like: it can be mounted from the NSH command line like:
+1 -1
View File
@@ -384,7 +384,7 @@ host operations. To make these modifications, do the following:
When this change is made, NSH should be extended to support USB flash When this change is made, NSH should be extended to support USB flash
devices. When a FLASH device is inserted, you should see a device devices. When a FLASH device is inserted, you should see a device
appear in the /dev (psuedo) directory. The device name should be appear in the /dev (pseudo) directory. The device name should be
like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present
it can be mounted from the NSH command line like: it can be mounted from the NSH command line like:
+1 -1
View File
@@ -788,7 +788,7 @@ USB host operations. To make these modifications, do the following:
When this change is made, NSH should be extended to support USB flash When this change is made, NSH should be extended to support USB flash
devices. When a FLASH device is inserted, you should see a device devices. When a FLASH device is inserted, you should see a device
appear in the /dev (psuedo) directory. The device name should be appear in the /dev (pseudo) directory. The device name should be
like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present like /dev/sda, /dev/sdb, etc. The USB mass storage device, is present
it can be mounted from the NSH command line like: it can be mounted from the NSH command line like:
+4 -4
View File
@@ -96,7 +96,7 @@ int closedir(FAR DIR *dirp)
*/ */
#ifndef CONFIG_DISABLE_MOUNTPOINT #ifndef CONFIG_DISABLE_MOUNTPOINT
if (INODE_IS_MOUNTPT(inode) && !DIRENT_ISPSUEDONODE(idir->fd_flags)) if (INODE_IS_MOUNTPT(inode) && !DIRENT_ISPSEUDONODE(idir->fd_flags))
{ {
/* The node is a file system mointpoint. Verify that the mountpoint /* The node is a file system mointpoint. Verify that the mountpoint
* supports the closedir() method (not an error if it does not) * supports the closedir() method (not an error if it does not)
@@ -117,13 +117,13 @@ int closedir(FAR DIR *dirp)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system, release /* The node is part of the root pseudo file system, release
* our contained reference to the 'next' inode. * our contained reference to the 'next' inode.
*/ */
if (idir->u.psuedo.fd_next) if (idir->u.pseudo.fd_next)
{ {
inode_release(idir->u.psuedo.fd_next); inode_release(idir->u.pseudo.fd_next);
} }
} }
+1 -1
View File
@@ -342,7 +342,7 @@ int files_dup(FAR struct file *filep1, FAR struct file *filep2)
#endif #endif
#endif #endif
{ {
/* Open the psuedo file or device driver */ /* Open the pseudo file or device driver */
ret = inode->u.i_ops->open(filep2); ret = inode->u.i_ops->open(filep2);
} }
+1 -1
View File
@@ -171,7 +171,7 @@ int foreach_inodelevel(FAR struct inode *node, struct inode_path_s *info)
* when the callback 'handler' returns a non-zero value, or when all of * when the callback 'handler' returns a non-zero value, or when all of
* the inodes have been visited. * the inodes have been visited.
* *
* NOTE 1: Use with caution... The psuedo-file system is locked throughout * NOTE 1: Use with caution... The pseudo-file system is locked throughout
* the traversal. * the traversal.
* NOTE 2: The search algorithm is recursive and could, in principle, use * NOTE 2: The search algorithm is recursive and could, in principle, use
* an indeterminant amount of stack space. This will not usually be a * an indeterminant amount of stack space. This will not usually be a
+1 -1
View File
@@ -154,7 +154,7 @@ static int mountpoint_filter(FAR struct inode *node,
* mountpoint inodes. It is intended to support the mount() command to * mountpoint inodes. It is intended to support the mount() command to
* when the mount command is used to enumerate mounts. * when the mount command is used to enumerate mounts.
* *
* NOTE 1: Use with caution... The psuedo-file system is locked throughout * NOTE 1: Use with caution... The pseudo-file system is locked throughout
* the traversal. * the traversal.
* NOTE 2: The search algorithm is recursive and could, in principle, use * NOTE 2: The search algorithm is recursive and could, in principle, use
* an indeterminant amount of stack space. This will not usually be a * an indeterminant amount of stack space. This will not usually be a
+4 -4
View File
@@ -75,10 +75,10 @@
/* Mountpoint fd_flags values */ /* Mountpoint fd_flags values */
#define DIRENTFLAGS_PSUEDONODE 1 #define DIRENTFLAGS_PSEUDONODE 1
#define DIRENT_SETPSUEDONODE(f) do (f) |= DIRENTFLAGS_PSUEDONODE; while (0) #define DIRENT_SETPSEUDONODE(f) do (f) |= DIRENTFLAGS_PSEUDONODE; while (0)
#define DIRENT_ISPSUEDONODE(f) (((f) & DIRENTFLAGS_PSUEDONODE) != 0) #define DIRENT_ISPSEUDONODE(f) (((f) & DIRENTFLAGS_PSEUDONODE) != 0)
/**************************************************************************** /****************************************************************************
* Public Types * Public Types
@@ -236,7 +236,7 @@ EXTERN void inode_release(FAR struct inode *inode);
* when the callback 'handler' returns a non-zero value, or when all of * when the callback 'handler' returns a non-zero value, or when all of
* the inodes have been visited. * the inodes have been visited.
* *
* NOTE 1: Use with caution... The psuedo-file system is locked throughout * NOTE 1: Use with caution... The pseudo-file system is locked throughout
* the traversal. * the traversal.
* NOTE 2: The search algorithm is recursive and could, in principle, use * NOTE 2: The search algorithm is recursive and could, in principle, use
* an indeterminant amount of stack space. This will not usually be a * an indeterminant amount of stack space. This will not usually be a
+8 -8
View File
@@ -138,19 +138,19 @@ static inline int open_mountpoint(FAR struct inode *inode,
static void open_pseudodir(FAR struct inode *inode, FAR struct fs_dirent_s *dir) static void open_pseudodir(FAR struct inode *inode, FAR struct fs_dirent_s *dir)
{ {
/* We have a valid psuedo-filesystem node. Take two references on the /* We have a valid pseudo-filesystem node. Take two references on the
* inode -- one for the parent (fd_root) and one for the child (fd_next). * inode -- one for the parent (fd_root) and one for the child (fd_next).
* Note that we do not call inode_addref because we are holding the tree * Note that we do not call inode_addref because we are holding the tree
* semaphore and that would result in deadlock. * semaphore and that would result in deadlock.
*/ */
inode->i_crefs += 2; inode->i_crefs += 2;
dir->u.psuedo.fd_next = inode; /* This is the next node to use for readdir() */ dir->u.pseudo.fd_next = inode; /* This is the next node to use for readdir() */
/* Flag the inode as belonging to the psuedo-filesystem */ /* Flag the inode as belonging to the pseudo-filesystem */
#ifndef CONFIG_DISABLE_MOUNTPOINT #ifndef CONFIG_DISABLE_MOUNTPOINT
DIRENT_SETPSUEDONODE(dir->fd_flags); DIRENT_SETPSEUDONODE(dir->fd_flags);
#endif #endif
} }
@@ -242,7 +242,7 @@ FAR DIR *opendir(FAR const char *path)
} }
/* Populate the DIR structure and return it to the caller. The way that /* Populate the DIR structure and return it to the caller. The way that
* we do this depends on whenever this is a "normal" psuedo-file-system * we do this depends on whenever this is a "normal" pseudo-file-system
* inode or a file system mountpoint. * inode or a file system mountpoint.
*/ */
@@ -262,7 +262,7 @@ FAR DIR *opendir(FAR const char *path)
open_pseudodir(inode, dir); open_pseudodir(inode, dir);
} }
/* Is this a node in the psuedo filesystem? Or a mountpoint? If the node /* Is this a node in the pseudo filesystem? Or a mountpoint? If the node
* is the root (bisroot == TRUE), then this is a special case. * is the root (bisroot == TRUE), then this is a special case.
*/ */
@@ -280,7 +280,7 @@ FAR DIR *opendir(FAR const char *path)
#endif #endif
else else
{ {
/* The node is part of the root psuedo file system. Does the inode have a child? /* The node is part of the root pseudo file system. Does the inode have a child?
* If so that the child would be the 'root' of a list of nodes under * If so that the child would be the 'root' of a list of nodes under
* the directory. * the directory.
*/ */
@@ -292,7 +292,7 @@ FAR DIR *opendir(FAR const char *path)
goto errout_with_direntry; goto errout_with_direntry;
} }
/* It looks we have a valid psuedo-filesystem directory node. */ /* It looks we have a valid pseudo-filesystem directory node. */
open_pseudodir(inode, dir); open_pseudodir(inode, dir);
} }
+15 -15
View File
@@ -53,16 +53,16 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: readpsuedodir * Name: readpseudodir
****************************************************************************/ ****************************************************************************/
static inline int readpsuedodir(struct fs_dirent_s *idir) static inline int readpseudodir(struct fs_dirent_s *idir)
{ {
FAR struct inode *prev; FAR struct inode *prev;
/* Check if we are at the end of the list */ /* Check if we are at the end of the list */
if (!idir->u.psuedo.fd_next) if (!idir->u.pseudo.fd_next)
{ {
/* End of file and error conditions are not distinguishable /* End of file and error conditions are not distinguishable
* with readdir. Here we return -ENOENT to signal the end * with readdir. Here we return -ENOENT to signal the end
@@ -74,21 +74,21 @@ static inline int readpsuedodir(struct fs_dirent_s *idir)
/* Copy the inode name into the dirent structure */ /* Copy the inode name into the dirent structure */
strncpy(idir->fd_dir.d_name, idir->u.psuedo.fd_next->i_name, NAME_MAX+1); strncpy(idir->fd_dir.d_name, idir->u.pseudo.fd_next->i_name, NAME_MAX+1);
/* If the node has file operations, we will say that it is /* If the node has file operations, we will say that it is
* a file. * a file.
*/ */
idir->fd_dir.d_type = 0; idir->fd_dir.d_type = 0;
if (idir->u.psuedo.fd_next->u.i_ops) if (idir->u.pseudo.fd_next->u.i_ops)
{ {
#ifndef CONFIG_DISABLE_MOUNTPOINT #ifndef CONFIG_DISABLE_MOUNTPOINT
if (INODE_IS_BLOCK(idir->u.psuedo.fd_next)) if (INODE_IS_BLOCK(idir->u.pseudo.fd_next))
{ {
idir->fd_dir.d_type |= DTYPE_BLK; idir->fd_dir.d_type |= DTYPE_BLK;
} }
if (INODE_IS_MOUNTPT(idir->u.psuedo.fd_next)) if (INODE_IS_MOUNTPT(idir->u.pseudo.fd_next))
{ {
idir->fd_dir.d_type |= DTYPE_DIRECTORY; idir->fd_dir.d_type |= DTYPE_DIRECTORY;
} }
@@ -103,7 +103,7 @@ static inline int readpsuedodir(struct fs_dirent_s *idir)
* is a directory. NOTE: that the node can be both! * is a directory. NOTE: that the node can be both!
*/ */
if (idir->u.psuedo.fd_next->i_child || !idir->u.psuedo.fd_next->u.i_ops) if (idir->u.pseudo.fd_next->i_child || !idir->u.pseudo.fd_next->u.i_ops)
{ {
idir->fd_dir.d_type |= DTYPE_DIRECTORY; idir->fd_dir.d_type |= DTYPE_DIRECTORY;
} }
@@ -112,14 +112,14 @@ static inline int readpsuedodir(struct fs_dirent_s *idir)
inode_semtake(); inode_semtake();
prev = idir->u.psuedo.fd_next; prev = idir->u.pseudo.fd_next;
idir->u.psuedo.fd_next = prev->i_peer; /* The next node to visit */ idir->u.pseudo.fd_next = prev->i_peer; /* The next node to visit */
if (idir->u.psuedo.fd_next) if (idir->u.pseudo.fd_next)
{ {
/* Increment the reference count on this next node */ /* Increment the reference count on this next node */
idir->u.psuedo.fd_next->i_crefs++; idir->u.pseudo.fd_next->i_crefs++;
} }
inode_semgive(); inode_semgive();
@@ -179,7 +179,7 @@ FAR struct dirent *readdir(DIR *dirp)
#ifndef CONFIG_DISABLE_MOUNTPOINT #ifndef CONFIG_DISABLE_MOUNTPOINT
inode = idir->fd_root; inode = idir->fd_root;
if (INODE_IS_MOUNTPT(inode) && !DIRENT_ISPSUEDONODE(idir->fd_flags)) if (INODE_IS_MOUNTPT(inode) && !DIRENT_ISPSEUDONODE(idir->fd_flags))
{ {
/* The node is a file system mointpoint. Verify that the mountpoint /* The node is a file system mointpoint. Verify that the mountpoint
* supports the readdir() method * supports the readdir() method
@@ -198,9 +198,9 @@ FAR struct dirent *readdir(DIR *dirp)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system */ /* The node is part of the root pseudo file system */
ret = readpsuedodir(idir); ret = readpseudodir(idir);
} }
/* ret < 0 is an error. Special case: ret = -ENOENT is end of file */ /* ret < 0 is an error. Special case: ret = -ENOENT is end of file */
+6 -6
View File
@@ -52,10 +52,10 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: rewindpsuedodir * Name: rewindpseudodir
****************************************************************************/ ****************************************************************************/
static inline void rewindpsuedodir(struct fs_dirent_s *idir) static inline void rewindpseudodir(struct fs_dirent_s *idir)
{ {
struct inode *prev; struct inode *prev;
@@ -63,8 +63,8 @@ static inline void rewindpsuedodir(struct fs_dirent_s *idir)
/* Reset the position to the beginning */ /* Reset the position to the beginning */
prev = idir->u.psuedo.fd_next; /* (Save to delete later) */ prev = idir->u.pseudo.fd_next; /* (Save to delete later) */
idir->u.psuedo.fd_next = idir->fd_root; /* The next node to visit */ idir->u.pseudo.fd_next = idir->fd_root; /* The next node to visit */
idir->fd_position = 0; /* Reset position */ idir->fd_position = 0; /* Reset position */
/* Increment the reference count on the root=next node. We /* Increment the reference count on the root=next node. We
@@ -138,8 +138,8 @@ void rewinddir(FAR DIR *dirp)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system */ /* The node is part of the root pseudo file system */
rewindpsuedodir(idir); rewindpseudodir(idir);
} }
} }
+7 -7
View File
@@ -53,10 +53,10 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: seekpsuedodir * Name: seekpseudodir
****************************************************************************/ ****************************************************************************/
static inline void seekpsuedodir(struct fs_dirent_s *idir, off_t offset) static inline void seekpseudodir(struct fs_dirent_s *idir, off_t offset)
{ {
struct inode *curr; struct inode *curr;
struct inode *prev; struct inode *prev;
@@ -76,7 +76,7 @@ static inline void seekpsuedodir(struct fs_dirent_s *idir, off_t offset)
else else
{ {
pos = idir->fd_position; pos = idir->fd_position;
curr = idir->u.psuedo.fd_next; curr = idir->u.pseudo.fd_next;
} }
/* Traverse the peer list starting at the 'root' of the /* Traverse the peer list starting at the 'root' of the
@@ -90,8 +90,8 @@ static inline void seekpsuedodir(struct fs_dirent_s *idir, off_t offset)
/* Now get the inode to vist next time that readdir() is called */ /* Now get the inode to vist next time that readdir() is called */
prev = idir->u.psuedo.fd_next; prev = idir->u.pseudo.fd_next;
idir->u.psuedo.fd_next = curr; /* The next node to visit (might be null) */ idir->u.pseudo.fd_next = curr; /* The next node to visit (might be null) */
idir->fd_position = pos; /* Might be beyond the last dirent */ idir->fd_position = pos; /* Might be beyond the last dirent */
if (curr) if (curr)
@@ -223,8 +223,8 @@ void seekdir(FAR DIR *dirp, off_t offset)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system */ /* The node is part of the root pseudo file system */
seekpsuedodir(idir, offset); seekpseudodir(idir, offset);
} }
} }
+5 -5
View File
@@ -51,10 +51,10 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: statpsuedo * Name: statpseudo
****************************************************************************/ ****************************************************************************/
static inline int statpsuedo(FAR struct inode *inode, FAR struct stat *buf) static inline int statpseudo(FAR struct inode *inode, FAR struct stat *buf)
{ {
/* Most of the stat entries just do not apply */ /* Most of the stat entries just do not apply */
@@ -92,7 +92,7 @@ static inline int statpsuedo(FAR struct inode *inode, FAR struct stat *buf)
{ {
/* If it has no operations, then it must just be a intermediate /* If it has no operations, then it must just be a intermediate
* node in the inode tree. It is something like a directory. * node in the inode tree. It is something like a directory.
* We'll say that all psuedo-directories are read-able but not * We'll say that all pseudo-directories are read-able but not
* write-able. * write-able.
*/ */
@@ -195,9 +195,9 @@ int stat(const char *path, FAR struct stat *buf)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system */ /* The node is part of the root pseudo file system */
ret = statpsuedo(inode, buf); ret = statpseudo(inode, buf);
} }
/* Check if the stat operation was successful */ /* Check if the stat operation was successful */
+4 -4
View File
@@ -52,10 +52,10 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: statpsuedo * Name: statpseudo
****************************************************************************/ ****************************************************************************/
static inline int statpsuedofs(FAR struct inode *inode, FAR struct statfs *buf) static inline int statpseudofs(FAR struct inode *inode, FAR struct statfs *buf)
{ {
memset(buf, 0, sizeof(struct statfs)); memset(buf, 0, sizeof(struct statfs));
buf->f_type = PROC_SUPER_MAGIC; buf->f_type = PROC_SUPER_MAGIC;
@@ -137,9 +137,9 @@ int statfs(FAR const char *path, FAR struct statfs *buf)
else else
#endif #endif
{ {
/* The node is part of the root psuedo file system */ /* The node is part of the root pseudo file system */
ret = statpsuedofs(inode, buf); ret = statpseudofs(inode, buf);
} }
/* Check if the statfs operation was successful */ /* Check if the statfs operation was successful */
+1 -1
View File
@@ -319,7 +319,7 @@ int syslog_initialize(void)
SYSLOG_OFLAGS, 0666); SYSLOG_OFLAGS, 0666);
} }
/* No... then it must be a character driver in the NuttX psuedo- /* No... then it must be a character driver in the NuttX pseudo-
* file system. * file system.
*/ */
+1 -1
View File
@@ -71,7 +71,7 @@
* Name: unregister_blockdriver * Name: unregister_blockdriver
* *
* Description: * Description:
* Remove the block driver inode at 'path' from the psuedo-file system * Remove the block driver inode at 'path' from the pseudo-file system
* *
****************************************************************************/ ****************************************************************************/
+1 -1
View File
@@ -71,7 +71,7 @@
* Name: unregister_driver * Name: unregister_driver
* *
* Description: * Description:
* Remove the character driver inode at 'path' from the psuedo-file system * Remove the character driver inode at 'path' from the pseudo-file system
* *
****************************************************************************/ ****************************************************************************/
+5 -5
View File
@@ -65,12 +65,12 @@
* reference, a position, a dirent structure, and file-system-specific * reference, a position, a dirent structure, and file-system-specific
* information. * information.
* *
* For the root psuedo-file system, we need retain only the 'next' inode * For the root pseudo-file system, we need retain only the 'next' inode
* need for the next readdir() operation. We hold a reference on this * need for the next readdir() operation. We hold a reference on this
* inode so we know that it will persist until closedir is called. * inode so we know that it will persist until closedir is called.
*/ */
struct fs_psuedodir_s struct fs_pseudodir_s
{ {
struct inode *fd_next; /* The inode for the next call to readdir() */ struct inode *fd_next; /* The inode for the next call to readdir() */
}; };
@@ -140,7 +140,7 @@ struct fs_dirent_s
{ {
/* This is the node that was opened by opendir. The type of the inode /* This is the node that was opened by opendir. The type of the inode
* determines the way that the readdir() operations are performed. For the * determines the way that the readdir() operations are performed. For the
* psuedo root psuedo-file system, it is also used to support rewind. * pseudo root pseudo-file system, it is also used to support rewind.
* *
* We hold a reference on this inode so we know that it will persist until * We hold a reference on this inode so we know that it will persist until
* closedir() is called (although inodes linked to this inode may change). * closedir() is called (although inodes linked to this inode may change).
@@ -166,9 +166,9 @@ struct fs_dirent_s
union union
{ {
/* Private data used by the built-in psuedo-file system */ /* Private data used by the built-in pseudo-file system */
struct fs_psuedodir_s psuedo; struct fs_pseudodir_s pseudo;
/* Private data used by other file systems */ /* Private data used by other file systems */
+4 -4
View File
@@ -199,7 +199,7 @@ union inode_ops_u
#endif #endif
}; };
/* This structure represents one inode in the Nuttx psuedo-file system */ /* This structure represents one inode in the Nuttx pseudo-file system */
struct inode struct inode
{ {
@@ -342,7 +342,7 @@ EXTERN void weak_function fs_initialize(void);
* mountpoint inodes. It is intended to support the mount() command to * mountpoint inodes. It is intended to support the mount() command to
* when the mount command is used to enumerate mounts. * when the mount command is used to enumerate mounts.
* *
* NOTE 1: Use with caution... The psuedo-file system is locked throughout * NOTE 1: Use with caution... The pseudo-file system is locked throughout
* the traversal. * the traversal.
* NOTE 2: The search algorithm is recursive and could, in principle, use * NOTE 2: The search algorithm is recursive and could, in principle, use
* an indeterminant amount of stack space. This will not usually be a * an indeterminant amount of stack space. This will not usually be a
@@ -415,7 +415,7 @@ EXTERN int register_blockdriver(const char *path,
* Name: unregister_driver * Name: unregister_driver
* *
* Description: * Description:
* Remove the character driver inode at 'path' from the psuedo-file system * Remove the character driver inode at 'path' from the pseudo-file system
* *
****************************************************************************/ ****************************************************************************/
@@ -426,7 +426,7 @@ EXTERN int unregister_driver(const char *path);
* Name: unregister_blockdriver * Name: unregister_blockdriver
* *
* Description: * Description:
* Remove the block driver inode at 'path' from the psuedo-file system * Remove the block driver inode at 'path' from the pseudo-file system
* *
****************************************************************************/ ****************************************************************************/