Module Name: src Committed By: christos Date: Mon Sep 27 22:53:47 UTC 2010
Modified Files: src/sys/dev/pci: agp.c Log Message: move all the compat code here, and #ifdef __i386__ from mrg. To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/dev/pci/agp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/agp.c diff -u src/sys/dev/pci/agp.c:1.70 src/sys/dev/pci/agp.c:1.71 --- src/sys/dev/pci/agp.c:1.70 Mon Sep 27 17:25:38 2010 +++ src/sys/dev/pci/agp.c Mon Sep 27 18:53:46 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: agp.c,v 1.70 2010/09/27 21:25:38 christos Exp $ */ +/* $NetBSD: agp.c,v 1.71 2010/09/27 22:53:46 christos Exp $ */ /*- * Copyright (c) 2000 Doug Rabson @@ -65,7 +65,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: agp.c,v 1.70 2010/09/27 21:25:38 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: agp.c,v 1.71 2010/09/27 22:53:46 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -944,7 +944,24 @@ case AGPIOC_SETUP: return agp_setup_user(sc, (agp_setup *)data); -#ifndef __LP64__ /* Wish ifdef knew about sizeof */ +#ifdef __i386__ +{ + /* + * Handle paddr_t change from 32 bit for non PAE kernels + * to 64 bit. + */ +#define AGPIOC_OALLOCATE _IOWR(AGPIOC_BASE, 6, agp_oallocate) + + typedef struct _agp_oallocate { + int key; /* tag of allocation */ + size_t pg_count; /* number of pages */ + uint32_t type; /* 0 == normal, other devspec */ + u_long physical; /* device specific (some devices + * need a phys address of the + * actual page behind the gatt + * table) */ + } agp_oallocate; + case AGPIOC_OALLOCATE: { agp_allocate aga; agp_oallocate *oaga = data; @@ -956,8 +973,8 @@ return agp_allocate_user(sc, &aga); } +} #endif - case AGPIOC_ALLOCATE: return agp_allocate_user(sc, (agp_allocate *)data);