[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 5/5] libxl, hvmloader: Don't relocate memory for MMIO hole
>>> On 20.06.13 at 11:22, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote: > On 19/06/13 18:18, Stefano Stabellini wrote: >> On Tue, 18 Jun 2013, George Dunlap wrote: >>> + s = xenstore_read(HVM_XS_ALLOW_MEMORY_RELOCATE, NULL); >>> + if ( s ) >>> + allow_memory_relocate = (bool)strtoll(s, NULL, 0); >>> + printf("Relocating guest memory for lowmem MMIO space %s\n", >>> + allow_memory_relocate?"enabled":"disabled"); >> It doesn't take a strtoll to parse a boolean. > > As discussed in v1, strtoll is the only "XtoY" function available in > hvmloader. :-) The only other option would be to explicitly compare for > "1" or "0" (or do some half-baked *s-'0' thing). > > This does make me think though -- what is the semantics of casting to a > bool? Is it !!, or will it essentially clip off the high bits? (e.g., > would "2" become "1", or "0"?) If bool is a typedef or #define of _Bool, and _Bool is a complier supplied type, then the cast will do the right thing. But doing the assignment without the cast would too, i.e. the cast is pointless (as I think IanJ had already pointed out). However, if we want to be on the safe side and also make the code work with a compiler that doesn't have a built-in _Bool, I'd think allow_memory_relocate = !s || strtoll(s, NULL, 0); would be the better statement (without any if() surrounding it, and without the variable declaration having an initializer. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |