mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/libxenguest: remove Mini-OS specific parts
The last Mini-OS use case of libxenguest is gone, so remove the Mini-OS specific parts of libxenguest. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
8d70af242d
commit
487f7e945a
9 files changed
-292
No files matched your search
@@ -1,8 +1,3 @@
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
# Save/restore of a domain is currently incompatible with a stubdom environment
|
||||
override CONFIG_MIGRATE := n
|
||||
endif
|
||||
|
||||
OBJS-y += xg_private.o
|
||||
OBJS-y += xg_domain.o
|
||||
OBJS-y += xg_suspend.o
|
||||
@@ -55,16 +50,6 @@ OBJS-$(CONFIG_X86) += xg_dom_x86.o
|
||||
OBJS-$(CONFIG_X86) += xg_cpuid_x86.o
|
||||
OBJS-$(CONFIG_ARM) += xg_dom_arm.o
|
||||
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
OBJS-y += xg_dom_decompress_unsafe.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_bzip2.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_lz4.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_lzma.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_lzo1x.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_xz.o
|
||||
OBJS-y += xg_dom_decompress_unsafe_zstd.o
|
||||
endif
|
||||
|
||||
CFLAGS += -D__XEN_TOOLS__
|
||||
CFLAGS += -include $(XEN_ROOT)/tools/config.h
|
||||
CFLAGS += -iquote ../../../xen/common/libelf
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
static struct xc_dom_image *unsafe_dom;
|
||||
static unsigned char *output_blob;
|
||||
static unsigned int output_size;
|
||||
|
||||
static void unsafe_error(const char *msg)
|
||||
{
|
||||
xc_dom_panic(unsafe_dom->xch, XC_INVALID_KERNEL, "%s", msg);
|
||||
}
|
||||
|
||||
static int unsafe_flush(void *src, unsigned int size)
|
||||
{
|
||||
void *n = realloc(output_blob, output_size + size);
|
||||
if (!n)
|
||||
return -1;
|
||||
output_blob = n;
|
||||
|
||||
memcpy(&output_blob[output_size], src, size);
|
||||
output_size += size;
|
||||
return size;
|
||||
}
|
||||
|
||||
int xc_dom_decompress_unsafe(
|
||||
decompress_fn fn, struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
int ret;
|
||||
|
||||
unsafe_dom = dom;
|
||||
output_blob = NULL;
|
||||
output_size = 0;
|
||||
|
||||
ret = fn(dom->kernel_blob, dom->kernel_size, NULL, unsafe_flush, NULL, NULL, unsafe_error);
|
||||
|
||||
if (ret)
|
||||
free(output_blob);
|
||||
else {
|
||||
*blob = output_blob;
|
||||
*size = output_size;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
#ifdef __MINIOS__
|
||||
# include "../../xen/include/xen/decompress.h"
|
||||
#else
|
||||
typedef int decompress_fn(unsigned char *inbuf, unsigned int len,
|
||||
int (*fill)(void*, unsigned int),
|
||||
int (*flush)(void*, unsigned int),
|
||||
unsigned char *outbuf, unsigned int *posp,
|
||||
void (*error)(const char *x));
|
||||
#endif
|
||||
|
||||
#define cf_check /* No Control Flow Integriy checking */
|
||||
|
||||
int xc_dom_decompress_unsafe(
|
||||
decompress_fn fn, struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
|
||||
int xc_try_bzip2_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
int xc_try_lz4_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
int xc_try_lzma_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
int xc_try_lzo1x_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
int xc_try_xz_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
int xc_try_zstd_decode(struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
__attribute__((visibility("internal")));
|
||||
@@ -1,14 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
#include "../../xen/common/bunzip2.c"
|
||||
|
||||
int xc_try_bzip2_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(bunzip2, dom, blob, size);
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include INCLUDE_ENDIAN_H
|
||||
|
||||
#define XG_NEED_UNALIGNED
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress.h"
|
||||
|
||||
#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
|
||||
|
||||
typedef uint8_t u8;
|
||||
typedef uint16_t u16;
|
||||
typedef uint32_t u32;
|
||||
typedef uint64_t u64;
|
||||
|
||||
#define likely(a) a
|
||||
#define unlikely(a) a
|
||||
|
||||
static inline uint16_t le16_to_cpu(uint16_t v)
|
||||
{
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
return __builtin_bswap16(v);
|
||||
#else
|
||||
return v;
|
||||
#endif
|
||||
}
|
||||
|
||||
#include "../../xen/include/xen/lz4.h"
|
||||
#include "../../xen/common/decompress.h"
|
||||
#include "../../xen/common/unlz4.c"
|
||||
|
||||
int xc_try_lz4_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(unlz4, dom, blob, size);
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
#include "../../xen/common/unlzma.c"
|
||||
|
||||
int xc_try_lzma_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(unlzma, dom, blob, size);
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
#include INCLUDE_ENDIAN_H
|
||||
#include <stdint.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
typedef uint8_t u8;
|
||||
typedef uint32_t u32;
|
||||
typedef uint16_t u16;
|
||||
typedef uint64_t u64;
|
||||
|
||||
#define likely(a) a
|
||||
#define noinline
|
||||
#define unlikely(a) a
|
||||
|
||||
static inline uint16_t be16_to_cpu(const uint16_t v)
|
||||
{
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
return __builtin_bswap16(v);
|
||||
#else
|
||||
return v;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline uint32_t be32_to_cpu(const uint32_t v)
|
||||
{
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
return __builtin_bswap32(v);
|
||||
#else
|
||||
return v;
|
||||
#endif
|
||||
}
|
||||
|
||||
#include "../../xen/common/lzo.c"
|
||||
#include "../../xen/common/unlzo.c"
|
||||
|
||||
int xc_try_lzo1x_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(unlzo, dom, blob, size);
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include INCLUDE_ENDIAN_H
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
// TODO
|
||||
#define XZ_DEC_X86
|
||||
|
||||
typedef uint8_t u8;
|
||||
typedef uint16_t u16;
|
||||
typedef uint32_t u32;
|
||||
typedef uint32_t __le32;
|
||||
|
||||
static inline uint32_t cpu_to_le32(const uint32_t v)
|
||||
{
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
return __builtin_bswap32(v);
|
||||
#else
|
||||
return v;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline uint32_t le32_to_cpu(const uint32_t v)
|
||||
{
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
return __builtin_bswap32(v);
|
||||
#else
|
||||
return v;
|
||||
#endif
|
||||
}
|
||||
|
||||
#define __force
|
||||
#define always_inline
|
||||
|
||||
#include "../../xen/common/unxz.c"
|
||||
|
||||
int xc_try_xz_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(unxz, dom, blob, size);
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include INCLUDE_ENDIAN_H
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "xg_private.h"
|
||||
#include "xg_dom_decompress_unsafe.h"
|
||||
|
||||
typedef uint8_t u8;
|
||||
|
||||
typedef uint16_t __u16;
|
||||
typedef uint32_t __u32;
|
||||
typedef uint64_t __u64;
|
||||
|
||||
typedef uint16_t __le16;
|
||||
typedef uint32_t __le32;
|
||||
typedef uint64_t __le64;
|
||||
|
||||
typedef uint16_t __be16;
|
||||
typedef uint32_t __be32;
|
||||
typedef uint64_t __be64;
|
||||
|
||||
#define attr_const
|
||||
#define __force
|
||||
#define always_inline
|
||||
#define noinline
|
||||
#define __packed __attribute__((__packed__))
|
||||
|
||||
#undef ERROR
|
||||
|
||||
#define __TYPES_H__ /* xen/types.h guard */
|
||||
#include "../../xen/include/xen/byteorder.h"
|
||||
#include "../../xen/include/xen/unaligned.h"
|
||||
#include "../../xen/include/xen/xxhash.h"
|
||||
#include "../../xen/lib/xxhash64.c"
|
||||
#include "../../xen/common/unzstd.c"
|
||||
|
||||
int xc_try_zstd_decode(
|
||||
struct xc_dom_image *dom, void **blob, size_t *size)
|
||||
{
|
||||
return xc_dom_decompress_unsafe(unzstd, dom, blob, size);
|
||||
}
|
||||