ia64/xen-unstable

view xen/include/xen/lzo.h @ 19800:78962f85c562

IOMMU: Add two generic functions to vendor neutral interface

Add 2 generic functions into the vendor neutral iommu interface, The
reason is that from changeset 19732, there is only one global flag
"iommu_enabled" that controls iommu enablement for both vtd and amd
systems, so we need different code paths for vtd and amd iommu systems
if this flag has been turned on. Also, the early checking of
"iommu_enabled" in iommu_setup() is removed to prevent iommu
functionalities from been disabled on amd systems.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 19 08:41:50 2009 +0100 (2009-06-19)
parents f210a633571c
children
line source
1 #ifndef __LZO_H__
2 #define __LZO_H__
3 /*
4 * LZO Public Kernel Interface
5 * A mini subset of the LZO real-time data compression library
6 *
7 * Copyright (C) 1996-2005 Markus F.X.J. Oberhumer <markus@oberhumer.com>
8 *
9 * The full LZO package can be found at:
10 * http://www.oberhumer.com/opensource/lzo/
11 *
12 * Changed for kernel use by:
13 * Nitin Gupta <nitingupta910@gmail.com>
14 * Richard Purdie <rpurdie@openedhand.com>
15 */
17 #define LZO1X_MEM_COMPRESS (16384 * sizeof(unsigned char *))
18 #define LZO1X_1_MEM_COMPRESS LZO1X_MEM_COMPRESS
20 #define lzo1x_worst_compress(x) ((x) + ((x) / 16) + 64 + 3)
22 /* This requires 'workmem' of size LZO1X_1_MEM_COMPRESS */
23 int lzo1x_1_compress(const unsigned char *src, size_t src_len,
24 unsigned char *dst, size_t *dst_len, void *wrkmem);
26 /* safe decompression with overrun testing */
27 int lzo1x_decompress_safe(const unsigned char *src, size_t src_len,
28 unsigned char *dst, size_t *dst_len);
30 /*
31 * Return values (< 0 = Error)
32 */
33 #define LZO_E_OK 0
34 #define LZO_E_ERROR (-1)
35 #define LZO_E_OUT_OF_MEMORY (-2)
36 #define LZO_E_NOT_COMPRESSIBLE (-3)
37 #define LZO_E_INPUT_OVERRUN (-4)
38 #define LZO_E_OUTPUT_OVERRUN (-5)
39 #define LZO_E_LOOKBEHIND_OVERRUN (-6)
40 #define LZO_E_EOF_NOT_FOUND (-7)
41 #define LZO_E_INPUT_NOT_CONSUMED (-8)
42 #define LZO_E_NOT_YET_IMPLEMENTED (-9)
44 #endif