pseries: dlpar: Create base structure for DLPAR capability

This commit introduces the base structures to provide DLPAR capacity on QEMU
pseries machines. All possible reconfigurable resources are divided in units
called connectors. Each connector will then be presented  to the guest system.

This also adds 4 new parameters (max_mem, min_mem, max_cpus, min_cpus) in the
-machine option that can be used to specify how much memory/cpus you can
increase/decrease in the guest.  The memory/cpu amount the partition will have
(desired) still is set by:

    '-M <value>' and the  -smp <value>

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: Adds QMP/HMP command parsing

Now we can send specific parameters to spapr_dlpar telling what we want to do.
From QEMU HMP we use:

dlpar {cpu | mem} {add | remove} {val}

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: Show pseries hotplug info in QEMU monitor

Now we can use the command 'info dlpar' in QEMU monitor to see DLPAR
info and stats

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: RTAS: get-sensor-state

This is part of PAPR base requeriments for enabling DLPAR capacity

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: RTAS: set-indicator

This is part of PAPR base requeriments for enabling DLPAR capacity

Signed-off-by:  Victor Toso <victor.toso@fit-tecnologia.org.br>
pseries: dlpar: Implements h_read hcall

This h_call is invoked by the guest when DLPAR memory is removed. Given
an index it fetches the corresponding PTE stored in the htab.

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: Uses ibm,dynamic-memory to map machime memory

So far, pseries machine allocated memory on DT /memory@** nodes. This patch
makes the allocatation/mapping of guest memory similar to that used in PowerVM
machines. Now the /memory@0 node contains the RMA area, while the remaining
memory is exposed in DT drc-indexes and in ibm,dynamic-memory.

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>
pseries: dlpar: Implements PAPR hotplug memory

Implement host side HMP/QMP memory add. After adding memory in the monitor,
the drmgr command must be run in the guest so it adds the memory to the
system. In order to remove the memory you first need to release the resources
by calling drmgr in the guest.

Signed-off-by: Erlon Cruz <erlon.cruz@br.flextronics.com>