Index: arch/parisc/kernel/ccio-dma.c =================================================================== RCS file: /home/cvs/parisc/linux-2.3/arch/parisc/kernel/ccio-dma.c,v retrieving revision 1.3 diff -u -p -r1.3 ccio-dma.c --- ccio-dma.c 2000/08/24 05:06:38 1.3 +++ ccio-dma.c 2000/08/28 00:35:36 @@ -53,8 +53,8 @@ */ #define MODULE_NAME "ccio" -/* #define DEBUG_CCIO_INIT +/* #define DEBUG_CCIO_RUN #define DEBUG_CCIO_RES */ @@ -785,6 +785,15 @@ STATIC void ccio_unmap_sg(struct pci_dev return; } +void +ccio_dma_sync_single(struct pci_dev *dev, dma_addr_t iova, size_t size, int direction) +{ +} + +void +ccio_dma_sync_sg(struct pci_dev *dev, struct scatterlist *sg, int nelems, int direction) +{ +} STATIC struct pci_dma_ops ccio_ops = { ccio_dma_supported, @@ -794,8 +803,8 @@ STATIC struct pci_dma_ops ccio_ops = { ccio_unmap_single, ccio_map_sg, ccio_unmap_sg, - NULL, /* dma_sync_single : NOP for U2/Uturn */ - NULL, /* dma_sync_sg : ditto */ + ccio_dma_sync_single, /* dma_sync_single : NOP for U2/Uturn */ + ccio_dma_sync_sg, /* dma_sync_sg : ditto */ }; Index: arch/parisc/kernel/entry.S =================================================================== RCS file: /home/cvs/parisc/linux-2.3/arch/parisc/kernel/entry.S,v retrieving revision 1.25 diff -u -p -r1.25 entry.S --- entry.S 2000/08/24 23:05:17 1.25 +++ entry.S 2000/08/28 00:35:45 @@ -637,6 +637,8 @@ dtlb_miss: depi 1,12,1,prot extru,= pte,_PAGE_USER_BIT,1,r0 depi 7,11,3,prot /* Set for user space (1 rsvd for read) */ + extru,= pte,_PAGE_GATEWAY_BIT,1,r0 + depi 0,11,2,prot /* If Gateway, Set PL2 to 0 */ /* Get rid of prot bits and convert to page addr for idtlba */ @@ -646,9 +648,18 @@ dtlb_miss: mfsp %sr1,t0 /* Save sr1 so we can use it in tlb inserts */ mtsp spc,%sr1 +/* idtlba pte,(%sr1,va) idtlbp prot,(%sr1,va) + depd pte,31,32,pte + depdi 0,45,14,pte + idtlbt pte,prot +*/ + .word 0xf2310c00 + .word 0xf6200652 + .word 0x06301800 + mtsp t0, %sr1 /* Restore sr1 */ rfir @@ -694,6 +705,8 @@ itlb_miss_common: copy spc,prot /* init prot with faulting space */ dep pte,8,7,prot + extru,= pte,_PAGE_NO_CACHE_BIT,1,r0 + depi 1,12,1,prot extru,= pte,_PAGE_USER_BIT,1,r0 depi 7,11,3,prot /* Set for user space (1 rsvd for read) */ extru,= pte,_PAGE_GATEWAY_BIT,1,r0 @@ -706,10 +719,19 @@ itlb_miss_common: mfsp %sr1,t0 /* Save sr1 so we can use it in tlb inserts */ mtsp spc,%sr1 - +/* iitlba pte,(%sr1,va) iitlbp prot,(%sr1,va) + depd pte,31,32,pte + depdi 0,45,14,pte + iitlbt pte,prot +*/ + + .word 0xf2310c00 + .word 0xf6200652 + .word 0x06300800 + mtsp t0, %sr1 /* Restore sr1 */ rfir @@ -755,6 +777,8 @@ dbit_trap: depi 1,12,1,prot extru,= pte,_PAGE_USER_BIT,1,r0 depi 7,11,3,prot /* Set for user space (1 rsvd for read) */ + extru,= pte,_PAGE_GATEWAY_BIT,1,r0 + depi 0,11,2,prot /* If Gateway, Set PL2 to 0 */ /* Get rid of prot bits and convert to page addr for idtlba */ @@ -763,9 +787,17 @@ dbit_trap: mfsp %sr1,t0 /* Save sr1 so we can use it in tlb inserts */ mtsp spc,%sr1 - +/* idtlba pte,(%sr1,va) idtlbp prot,(%sr1,va) + + depd pte,31,32,pte + depdi 0,45,14,pte + idtlbt pte,prot +*/ + .word 0xf2310c00 + .word 0xf6200652 + .word 0x06301800 mtsp t0, %sr1 /* Restore sr1 */