Removed chipmem limit for all but GODZILLA, added CEND() copper list macro,

added views back in conf and fixed misc compile warns and errors.
This commit is contained in:
chopps 1994-01-30 08:50:17 +00:00
parent c056d471ac
commit 60dc3270f2
5 changed files with 43 additions and 22 deletions

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: cc_chipmem.c,v 1.2 1994/01/29 06:58:41 chopps Exp $
* $Id: cc_chipmem.c,v 1.3 1994/01/30 08:50:17 chopps Exp $
*/
#include "types.h"
#include "cc_chipmem.h"
@ -223,9 +223,7 @@ cc_init_chipmem (void)
mem_node_t *mem;
extern u_byte *chipmem_end, *chipmem_start;
/*#ifdef GODZILLA*/
/* XXXXX */
#if 1
#ifdef GODZILLA /* XXX */
/* spare the lower chipmem regions.. */
chip.size = 512*1024;
#else
@ -237,7 +235,7 @@ cc_init_chipmem (void)
chip.alloc_nodes = 0;
chip.total = chip.size - sizeof (mem_node_t);
mem = (struct free_list *)chip.memory;
mem = (mem_node_t *)chip.memory;
mem->size = chip.total;
dinit_list (&chip.node_list);

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: cc_copper.h,v 1.2 1994/01/29 06:58:48 chopps Exp $
* $Id: cc_copper.h,v 1.3 1994/01/30 08:50:19 chopps Exp $
*/
#if ! defined (_CC_COPPER_H)
#define _CC_COPPER_H
@ -67,6 +67,10 @@ typedef struct copper_list {
c->cp.data=((CI_SKIP(h,v)<<16)|CD_SKIP(0xffff)); \
CBUMP (c); \
} while(0)
#define CEND(c) do { \
c->cp.data=0xfffffffe; \
CBUMP (c); \
} while(0)
void install_copper_list (cop_t *l);
cop_t *find_copper_inst (cop_t *l, u_word inst);

View File

@ -164,15 +164,15 @@ int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
#define cdev_disk_init(c,n) { \
dev_init(c,n,open), (dev_type_close((*))) nullop, dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
(dev_type_reset((*))) nullop, 0, seltrue, (dev_type_map((*))) enodev, \
dev_init(c,n,strategy) }
(dev_type_reset((*))) nullop, 0, (dev_type_select((*))) seltrue, \
(dev_type_map((*))) enodev, dev_init(c,n,strategy) }
/* open, close, read, write, ioctl, strategy */
#define cdev_tape_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
(dev_type_reset((*))) nullop, 0, seltrue, (dev_type_map((*))) enodev, \
dev_init(c,n,strategy) }
(dev_type_reset((*))) nullop, 0, (dev_type_select((*))) seltrue, \
(dev_type_map((*))) enodev, dev_init(c,n,strategy) }
/* open, close, read, write, ioctl, stop, tty */
#define cdev_tty_init(c,n) { \
@ -185,7 +185,7 @@ int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
(dev_type_open((*))) enodev, (dev_type_close((*))) enodev, \
(dev_type_read((*))) enodev, (dev_type_write((*))) enodev, \
(dev_type_ioctl((*))) enodev, (dev_type_stop((*))) enodev, \
(dev_type_reset((*))) nullop, 0, seltrue, \
(dev_type_reset((*))) nullop, 0, (dev_type_select((*))) seltrue, \
(dev_type_map((*))) enodev, 0 }
cdev_decl(no); /* dummy declarations */
@ -211,7 +211,8 @@ dev_type_read(mmrw);
#define cdev_mm_init(c,n) { \
(dev_type_open((*))) nullop, (dev_type_close((*))) nullop, mmrw, \
mmrw, (dev_type_ioctl((*))) enodev, (dev_type_stop((*))) nullop, \
(dev_type_reset((*))) nullop, 0, seltrue, (dev_type_map((*))) enodev, 0 }
(dev_type_reset((*))) nullop, 0, (dev_type_select((*)))seltrue, \
(dev_type_map((*))) enodev, 0 }
/* read, write, strategy */
#define cdev_swap_init(c,n) { \
@ -248,7 +249,6 @@ cdev_decl(sd);
cdev_decl(tz);
cdev_decl(rz);
/* XXX shouldn't this be optional? */
cdev_decl(grf);
/* open, close, ioctl, select, map -- XXX should be a map device */
#define cdev_grf_init(c,n) { \
@ -257,6 +257,15 @@ cdev_decl(grf);
(dev_type_stop((*))) enodev, (dev_type_reset((*))) nullop, 0, \
dev_init(c,n,select), dev_init(c,n,map), 0 }
#include "view.h"
cdev_decl(view);
/* open, close, ioctl, select, map -- XXX should be a map device */
#define cdev_view_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) nullop, \
(dev_type_write((*))) nullop, dev_init(c,n,ioctl), \
(dev_type_stop((*))) enodev, (dev_type_reset((*))) nullop, 0, \
dev_init(c,n,select), dev_init(c,n,map), 0 }
#include "par.h"
cdev_decl(par);
/* open, close, read, write, ioctl -- XXX should be a generic device */
@ -300,8 +309,8 @@ cdev_decl(vn);
#define cdev_vn_init(c,n) { \
dev_init(c,n,open), (dev_type_close((*))) nullop, dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
(dev_type_reset((*))) nullop, 0, seltrue, (dev_type_map((*))) enodev, \
0 }
(dev_type_reset((*))) nullop, 0, (dev_type_select((*))) seltrue, \
(dev_type_map((*))) enodev, 0 }
dev_type_open(fdopen);
/* open */
@ -358,7 +367,11 @@ struct cdevsw cdevsw[] =
cdev_ite_init(NITE,ite), /* 13: console terminal emulator */
cdev_kbd_init(1, kbd), /* 14: /dev/kbd */
cdev_mouse_init(NMOUSE, ms), /* 15: /dev/mouse0 /dev/mouse1 */
#if 0
cdev_notdef(), /* 16: */
#else
cdev_view_init (NVIEW, view), /* 16: /dev/view00 /dev/view01 ... */
#endif
cdev_notdef(), /* 17: */
cdev_notdef(), /* 18: */
cdev_vn_init(NVN,vn), /* 19: vnode disk */

View File

@ -824,13 +824,17 @@ sun_sendsig(catcher, sig, mask, code)
* psl to gain improper priviledges or to cause
* a machine fault.
*/
struct sigreturn_args {
struct sigcontext *sigcntxp;
};
/* ARGSUSED */
sigreturn(p, uap, retval)
struct proc *p;
struct args {
struct sigcontext *sigcntxp;
} *uap;
int *retval;
struct proc *p;
struct sigreturn_args *uap;
int *retval;
{
register struct sigcontext *scp;
register struct frame *frame;
@ -840,8 +844,10 @@ sigreturn(p, uap, retval)
int flags;
extern short exframesize[];
#ifdef COMPAT_SUNOS
if (p->p_emul == EMUL_SUNOS)
return sun_sigreturn (p, uap, retval);
#endif
scp = uap->sigcntxp;
#ifdef DEBUG

View File

@ -65,7 +65,7 @@
#include "vmmeter.h"
#ifdef COMPAT_SUNOS
#include "../../sunos/sun_syscall.h"
#include "compat/sunos/sun_syscall.h"
#endif
struct sysent sysent[];
@ -598,7 +598,7 @@ syscall(code, frame)
/* XXX don't do this for sun_sigreturn, as there's no
XXX stored pc on the stack to skip, the argument follows
XXX the syscall number without a gap. */
if (code != SYS_sun_sigreturn)
if (code != SYS_sigreturn)
{
frame.f_regs[SP] += sizeof (int);
/* remember that we adjusted the SP, might have to undo