Date: Thu, 20 Aug 2009 12:32:51 GMT From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 167535 for review Message-ID: <200908201232.n7KCWpMn027025@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=167535 Change 167535 by bz@bz_dumpster on 2009/08/20 12:31:50 - Use mkdumpheader() rather than doing it on us own. - Use rmb(). - Add dummy cpu_flush_dcache(). - Add (dummy) definitions for the cooments from vm/pmap.h; still need to figure out if at least one could be moved upwards; lack of doucmentation(9) makes that harder. Affected files ... .. //depot/projects/s390/sys/s390/include/atomic.h#4 edit .. //depot/projects/s390/sys/s390/include/pmap.h#7 edit .. //depot/projects/s390/sys/s390/s390/dump_machdep.c#5 edit .. //depot/projects/s390/sys/s390/s390/genassym.c#7 edit .. //depot/projects/s390/sys/s390/s390/machdep.c#15 edit Differences ... ==== //depot/projects/s390/sys/s390/include/atomic.h#4 (text+ko) ==== @@ -18,6 +18,7 @@ #define SERIALIZATION __asm volatile (SOP ::: "memory") #define mb() SERIALIZATION +#define rmb() SERIALIZATION #define wmb() SERIALIZATION /* Not sure if serialization before load is really needed here. */ ==== //depot/projects/s390/sys/s390/include/pmap.h#7 (text+ko) ==== @@ -76,8 +76,6 @@ struct pmap_statistics pm_stats; /* pmap statistics */ }; -#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) - typedef struct pmap *pmap_t; #ifdef _KERNEL @@ -122,6 +120,10 @@ void *pmap_kenter_temporary(vm_paddr_t pa, int i); void pmap_kremove(vm_offset_t); +boolean_t pmap_page_is_mapped(vm_page_t); +#define pmap_page_get_memattr(m) VM_MEMATTR_DEFAULT +#define pmap_page_set_memattr(m, ma) (void)0 + #endif /* !LOCORE */ #endif /* !_MACHINE_PMAP_H_ */ ==== //depot/projects/s390/sys/s390/s390/dump_machdep.c#5 (text+ko) ==== @@ -62,18 +62,8 @@ printf("Dumping %ld MB\n", Maxmem / (1024*1024 / PAGE_SIZE)); /* Fill in the kernel dump header */ - strcpy(kdh.magic, KERNELDUMPMAGIC); - strcpy(kdh.architecture, MACHINE_ARCH); - kdh.version = htod32(KERNELDUMPVERSION); - kdh.architectureversion = htod32(KERNELDUMP_ESA_VERSION); - kdh.dumplength = htod64(Maxmem * (off_t)PAGE_SIZE); - kdh.dumptime = htod64(time_second); - kdh.blocksize = htod32(di->blocksize); - strncpy(kdh.hostname, hostname, sizeof(kdh.hostname)); - strncpy(kdh.versionstring, version, sizeof(kdh.versionstring)); - if (panicstr != NULL) - strncpy(kdh.panicstring, panicstr, sizeof kdh.panicstring); - kdh.parity = kerneldump_parity(&kdh); + mkdumpheader(&kdh, KERNELDUMPMAGIC, KERNELDUMP_ESA_VERSION, + htod64(Maxmem * (off_t)PAGE_SIZE), di->blocksize); dumplo = di->mediaoffset + di->mediasize - Maxmem * (off_t)PAGE_SIZE; dumplo -= sizeof(kdh) * 2; ==== //depot/projects/s390/sys/s390/s390/genassym.c#7 (text+ko) ==== @@ -15,12 +15,16 @@ #include <sys/user.h> #include <sys/mbuf.h> #include <sys/pcpu.h> +#include <sys/types.h> + #include <vm/vm.h> #include <vm/vm_param.h> #include <vm/pmap.h> #include <vm/vm_map.h> + #include <machine/frame.h> #include <machine/sysarea.h> + #include <s390/s390/external.h> #include <s390/s390/esa.h> #include <s390/s390/dat.h> ==== //depot/projects/s390/sys/s390/s390/machdep.c#15 (text+ko) ==== @@ -738,3 +738,12 @@ intr_restore(td->td_md.md_savecrit); } +/* + * Flush the D-cache for non-DMA I/O so that the I-cache can + * be made coherent later. + */ +void +cpu_flush_dcache(void *ptr, size_t len) +{ + /* Not applicable */ +}help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908201232.n7KCWpMn027025>
