qlmpi: add testcase to qlmpi (rusage for swap)
This commit is contained in:
60
test/qlmpi/rusage/verbs/mm_host.h
Normal file
60
test/qlmpi/rusage/verbs/mm_host.h
Normal file
@@ -0,0 +1,60 @@
|
||||
#ifndef MIC_MEM_H_
|
||||
#define MIC_MEM_H_
|
||||
|
||||
#include "mtype.h"
|
||||
|
||||
/*#### MMIO ####*/
|
||||
#define MIC_PCI_MMIO_BASE_ADDR 0xc2300000
|
||||
|
||||
/*## GTT ##*/
|
||||
#define GTT_START_OFFSET 0x40000
|
||||
#define MIC_PCI_GTT_START_ADDR (MIC_PCI_MMIO_BASE_ADDR + GTT_START_OFFSET)
|
||||
#define MIC_PCI_GTT_ETT_MAX 65536
|
||||
#define MIC_GTT_ETT_SIZE 4
|
||||
|
||||
/*## SBOX ##*/
|
||||
#define SBOX_START_OFFSET 0x10000
|
||||
#define MIC_PCI_SBOX_START_ADDR (MIC_PCI_MMIO_BASE_ADDR + SBOX_START_OFFSET)
|
||||
#define MIC_PCI_SBOX_SIZE 0x30000
|
||||
#define SBOX_SBQ_FLUSH_REG 0x0000B1A0
|
||||
#define SBOX_TLB_FLUSH_REG 0x0000B1A4
|
||||
|
||||
/*## APERTURE ##*/
|
||||
#define MIC_PCI_APERTURE_BASE_ADDR 0xb0000000
|
||||
//256MB
|
||||
#define MIC_PCI_APERTURE_SIZE 0x10000000
|
||||
//4kB
|
||||
#define MIC_PAGE_SIZE 4096
|
||||
|
||||
static inline addr_t _mic_map2mic(addr_t addr){
|
||||
return addr >> 1 << 1 << 11;
|
||||
}
|
||||
|
||||
#define MIC_MAP2MIC _mic_map2mic
|
||||
|
||||
extern int mm_host_init();
|
||||
extern int mm_host_exit();
|
||||
|
||||
extern addr_t mm_host_get_vaddr(int page_no, int offset);
|
||||
extern addr_t mm_host_get_paddr(int page_no, int offset);
|
||||
|
||||
/**
|
||||
* map a page to MIC memory(set GTT[page_no])
|
||||
*/
|
||||
extern int mm_host_page_init(int pg_no, addr_t map_addr, int size, int flush_flg);
|
||||
/**
|
||||
* read or write a initialized page
|
||||
*/
|
||||
extern int mm_host_page_read(int pg_no, int offset, int size, void *data);
|
||||
extern int mm_host_page_write(int pg_no, int offset, int size, void *data);
|
||||
|
||||
extern int mm_host_dump_gtt();
|
||||
|
||||
/**
|
||||
* flush GTT table
|
||||
* If only set 1 page, you can call mm_host_page_init with flush_flg=1
|
||||
* If set several pages, you can call mm_host_page_init with flush_flg=0, and call mm_host_gtt_flush after all page_init
|
||||
*/
|
||||
extern int mm_host_gtt_flush();
|
||||
|
||||
#endif /* MIC_MEM_H_ */
|
||||
Reference in New Issue
Block a user