Re: [PATCH kvmtool v3 7/9] Allow the user to specify where the RAM is placed in the memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 19, 2019 at 06:09:27PM +0000, Julien Grall wrote:
> On 1/22/19 5:45 AM, Will Deacon wrote:
> > On Thu, Dec 20, 2018 at 03:21:24PM +0000, Julien Grall wrote:
> > > +	/* parse out guest addr */
> > > +	base = 10;
> > > +	if (strcasestr(p, "0x"))
> > > +		base = 16;
> > > +	addr = strtoll(p, &next, base);
> > 
> > I thought strtoll() already handled '0x' prefixes if you pass base = 0?
> 
> It does. Base = 0 will also deal with octal number. Do we want to support
> that here?

Sure, why not?

> > 
> > > +	if (next == p && addr == 0) {
> > > +		/*
> > > +		 * To keep backward compatibility, the <addr> is not
> > > +		 * mandatory for the first bank.
> > > +		 */
> > > +		if (cfg->nr_ram > 0)
> > > +			die("mem: <addr> must be specified\n");
> > > +		addr = INVALID_RAM_ADDR;
> > > +	}
> > > +
> > > +	if ( cfg->nr_ram == MAX_RAM_BANKS )
> > > +		die("mem: Too many banks\n");
> > > +
> > > +	/*
> > > +	 * Allow the architecture to tell whether it is possible to configure
> > > +	 * the RAM base address.
> > > +	 */
> > > +#ifndef ARCH_SUPPORT_CFG_RAM_BASE
> > > +	if (addr == INVALID_RAM_ADDR)
> > > +		die("mem: specifying <addr> is not allowed\n");
> > > +#endif
> > > +
> > > +	cfg->ram[cfg->nr_ram].base = addr;
> > > +	cfg->ram[cfg->nr_ram].size = size;
> > 
> > How do you avoid adding overlapping regions?
> 
> Overlapping regions check is added by the next patch. See the function
> kvm__arch_sanitize_cfg. I can look at moving the overlapping check in common
> code.

Thanks, I must've missed that.

Will



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux