ia64/xen-unstable

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