xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: yann.collet.73@gmail.com, xen-devel@lists.xenproject.org,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	kyungsik.lee@lge.com
Subject: Re: [PATCH RFC 09/23] lz4: add support for OSes that don't have asm/unaligned.h
Date: Wed, 23 Apr 2014 18:18:54 +0200	[thread overview]
Message-ID: <5357E7EE.3010100@citrix.com> (raw)
In-Reply-To: <1398244151.4880.116.camel@kazak.uk.xensource.com>

On 23/04/14 11:09, Ian Campbell wrote:
> On Wed, 2014-04-23 at 11:06 +0200, Roger Pau Monné wrote:
>> On 23/04/14 10:53, Ian Campbell wrote:
>>> On Tue, 2014-04-22 at 18:40 +0200, Roger Pau Monné wrote:
>>>> On 22/04/14 17:55, Ian Campbell wrote:
>>>>> On Tue, 2014-04-22 at 16:46 +0200, Roger Pau Monné wrote:
>>>>>> Anyway, I think this patch and the preceding one are plain wrong, what
>>>>>> we should do is completely remove the bogus dependence on
>>>>>> asm/unaligned.h, which is a Linux specific header file, and open-code
>>>>>> what we need.
>>>>>
>>>>> Am I right that for libxc's lz4 support we are using the Linux kernel's
>>>>> built in decompression code, instead of the relevant userspace library
>>>>> as we do for most other compression algorithms?
>>>>
>>>> No, I don't think we are using Linux kernel's built in decompression
>>>> code,
>>>
>>> Which library provides lz4_decompress_unknownoutputsize then?
>>>
>>> It looks to me like xc_dom_decompress_lz4 gets it from #include
>>> "../../xen/common/lz4/decompress.c" even in the !__MINIOS__ case and:
>>>         $ head -n2 xen/common/lz4/decompress.c
>>>         /*
>>>          * LZ4 Decompressor for Linux kernel
>>>
>>> i.e. this is Linux code (which Linux uses to decompress itself on boot)
>>> copied into the hypervisor.
>>>
>>> Since this is imported code we don't really want to rewrite it so we can
>>> resync easily in the future. It's up to Xen and libxc to provide the
>>> necessary scaffolding (in terms of helpers the unaligned accessors) to
>>> make this code compile.
>>
>> Yes, sorry I misunderstood you, I though you were saying that somehow
>> Xen (or the tools), were relying on the Linux kernel to perform the
>> decompression
> 
> Ah yes, I can see how that was confusing, sorry!
> 
>>  (which makes no sense).
> 
> Indeed.
> 
>> That's my plan, but instead of adding some crappy hack for OSes that
>> don't have asm/unaligned.h, I would like to get rid of that dependency
>> and code the helpers that we need.
> 
> In the scaffolding and not by modifying the imported code I pressume? In
> which case, good thanks!

While working around this issue, I've noticed that xen/common/lz4/defs.h
has one branch for little endian and another one for big endian, but
while compiling libxc, "__LITTLE_ENDIAN" is not defined and we fall into
big endian, which seems wrong, because we don't have support for any big
endian arch.

Would it be OK to get rid of the big endian case, and only support
little endian by default?

Roger.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2014-04-23 16:19 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-16 14:13 [PATCH RFC 00/23] tools: add support for FreeBSD Roger Pau Monne
2014-04-16 14:13 ` [PATCH RFC 01/23] build: set FreeBSD specific build variables Roger Pau Monne
2014-04-17 16:20   ` Ian Jackson
2014-04-28 14:27   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 02/23] configure: make the libaio test non-fatal on OSes different than Linux Roger Pau Monne
2014-04-17 16:21   ` Ian Jackson
2014-04-22 14:30     ` Roger Pau Monné
2014-04-28 14:28   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 03/23] include: import FreeBSD headers for evtchn and privcmd devices Roger Pau Monne
2014-04-17 16:16   ` Ian Jackson
2014-04-22 14:35     ` Roger Pau Monné
2014-04-22 14:39       ` Ian Campbell
2014-04-28 14:29   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 04/23] libxc: add support for FreeBSD Roger Pau Monne
2014-04-17 16:30   ` Ian Jackson
2014-04-17 16:39     ` Ian Campbell
2014-04-17 17:18       ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 05/23] libxc: remove usage of "daylight" variable Roger Pau Monne
2014-04-17 16:44   ` Ian Jackson
2014-04-28 14:32   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 06/23] libxc: remove include of malloc.h Roger Pau Monne
2014-04-17 16:44   ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 07/23] libelf: add defines for bswap_* functions for FreeBSD Roger Pau Monne
2014-04-17 16:45   ` Ian Jackson
2014-04-28 14:34   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 08/23] configure: add checks for endian.h and sys/endian.h Roger Pau Monne
2014-04-17 16:46   ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 09/23] lz4: add support for OSes that don't have asm/unaligned.h Roger Pau Monne
2014-04-17 17:00   ` Ian Jackson
2014-04-22 14:46     ` Roger Pau Monné
2014-04-22 15:25       ` Ian Jackson
2014-04-22 15:55       ` Ian Campbell
2014-04-22 16:40         ` Roger Pau Monné
2014-04-22 22:27           ` Yann Collet
2014-04-23  8:53           ` Ian Campbell
2014-04-23  9:06             ` Roger Pau Monné
2014-04-23  9:09               ` Ian Campbell
2014-04-23 16:18                 ` Roger Pau Monné [this message]
2014-04-24  8:28                   ` Ian Campbell
2014-04-24  9:19                     ` Roger Pau Monné
2014-04-24  9:38                       ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 10/23] xenstored: add the FreeBSD xenstored interface Roger Pau Monne
2014-04-17 17:02   ` Ian Jackson
2014-04-22 14:50     ` Roger Pau Monné
2014-04-22 15:45       ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 11/23] xenstore: add some missing headers Roger Pau Monne
2014-04-17 17:03   ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 12/23] console: add FreeBSD includes Roger Pau Monne
2014-04-17 17:05   ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 13/23] init: add FreeBSD xencommons init script Roger Pau Monne
2014-04-28 14:36   ` Ian Campbell
2014-06-02 11:53     ` Roger Pau Monné
2014-06-02 13:50       ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 14/23] hotplug: add FreeBSD vif-bridge Roger Pau Monne
2014-04-28 14:39   ` Ian Campbell
2014-06-02 11:56     ` Roger Pau Monné
2014-06-02 13:52       ` Ian Campbell
2014-06-02 14:46         ` Roger Pau Monné
2014-06-02 15:08           ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 15/23] libxl: add support for OS-specific names to backend interfaces Roger Pau Monne
2014-04-17 17:06   ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 16/23] libxl: add FreeBSD OS support Roger Pau Monne
2014-04-17 17:10   ` Ian Jackson
2014-04-22 14:55     ` Roger Pau Monné
2014-04-16 14:13 ` [PATCH RFC 17/23] libxl: add support for FreeBSD uuid implementation Roger Pau Monne
2014-04-17 17:11   ` Ian Jackson
2014-04-22 15:09     ` Roger Pau Monné
2014-04-16 14:13 ` [PATCH RFC 18/23] libxl: only include utmp.h if it's present Roger Pau Monne
2014-04-17 17:13   ` Ian Jackson
2014-04-17 17:21     ` Roger Pau Monné
2014-04-17 18:26       ` Ian Jackson
2014-04-16 14:13 ` [PATCH RFC 19/23] hvmloader: remove size_t typedef and include stddef.h Roger Pau Monne
2014-04-28 14:43   ` Ian Campbell
2014-06-02 12:13     ` Roger Pau Monné
2014-06-02 13:53       ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 20/23] xenstat: add a dummy FreeBSD implementation Roger Pau Monne
2014-04-17 17:15   ` Ian Jackson
2014-04-17 17:25     ` Roger Pau Monné
2014-04-17 18:26       ` Ian Jackson
2014-04-28 14:45   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 21/23] gdbsx: remove cast from ioctl Roger Pau Monne
2014-04-17 17:17   ` Ian Jackson
2014-04-28 14:46     ` Ian Campbell
2014-04-28 19:42       ` Mukesh Rathor
2014-04-16 14:13 ` [PATCH RFC 22/23] build: export CC value to SeaBIOS Roger Pau Monne
2014-04-28 14:47   ` Ian Campbell
2014-04-16 14:13 ` [PATCH RFC 23/23] build: export linker emulation parameter " Roger Pau Monne
2014-04-28 14:50   ` Ian Campbell
2014-04-17  8:55 ` [PATCH RFC 00/23] tools: add support for FreeBSD Roger Pau Monné
2014-05-02 13:00 ` Ian Campbell
2014-05-02 13:02 ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5357E7EE.3010100@citrix.com \
    --to=roger.pau@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=kyungsik.lee@lge.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yann.collet.73@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).