/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool
330 by Suren A. Chilingaryan
Support for 64-bit registes
1
#ifndef _PCILIB_PAGECPY_H
2
#define _PCILIB_PAGECPY_H
3
4
#include <stdio.h>
5
#include <stdint.h>
6
7
#ifdef __cplusplus
8
extern "C" {
9
#endif
10
11
/**
12
 * This function should be used to move large blocks of non-cached memory between
13
 * aligned memory locations. The function will determine the CPU model and alginment
14
 * and call appropriate implementation. If nothing suitable found, standard memcpy
15
 * will be used. It is OK to call on small or unligned data, the standard memcpy
16
 * will be executed in this case. The memory regions should not intersect.
17
 * Only AVX implementation so far.
18
 * @param[out] dst - destination memory region
19
 * @param[in] src - source memory region
20
 * @param[in] size - size of memory region in bytes.
21
 * @return - `dst` or NULL on error
22
 */
341 by Suren A. Chilingaryan
Fix AVX memory copy
23
void pcilib_pagecpy(void *dst, const void *src, size_t size);
330 by Suren A. Chilingaryan
Support for 64-bit registes
24
25
#ifdef __cplusplus
26
}
27
#endif
28
29
#endif /* _PCILIB_PAGECPY_H */