aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-04-25linux-user/arm/nwfpe: rename REG_PC to ARM_REG_PCPeter Maydell
The REG_PC constant used in the ARM nwfpe code is fine in the kernel but when used in qemu can clash with a definition in the host system include files (in particular on Ubuntu Lucid SPARC, including signal.h will define a REG_PC). Rename the constant to avoid this issue. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-arm: Handle UNDEF cases for Neon VLD/VST multiple-structuresPeter Maydell
Correctly UNDEF for Neon VLD/VST "multiple structures" forms where the align field is not valid. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-arm: Handle UNDEFs for Neon single element load/storesPeter Maydell
Handle the UNDEF and UNPREDICTABLE cases for Neon "single element to one lane" VLD and "single element from one lane" VST. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25Merge remote-tracking branch 'awilliam/ipxe' into stagingAnthony Liguori
2011-04-25target-i386: switch to softfloatAurelien Jarno
This increase the correctness (precision, NaN values, corner cases) on non-x86 machines, and add the possibility to handle the exception correctly. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix constants wrt softfloatAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fprem() and helper_fprem1() wrt softfloatAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix logarithmic and trigonometric helpers wrt softfloatAurelien Jarno
Use the new CPU86_LDouble <-> double conversion functions to make logarithmic and trigonometric helpers working with softfloat. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: add CPU86_LDouble <-> double conversion functionsAurelien Jarno
Add functions to convert CPU86_LDouble to double and vice versa. They are going to be used to implement logarithmic and trigonometric function until softfloat implement them. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: replace approx_rsqrt and approx_rcp by softfloat opsAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fsqrt() wrt softfloatAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fdiv() wrt softfloatAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fxtract() wrt softfloatAurelien Jarno
With softfloat it's not possible to play with the overflow of an unsigned value to get the 0 case partially correct. Use a special case for that. Using a division to generate an infinity is the easiest way that works for both softfloat and softfloat-native. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fbld_ST0() wrt softfloatAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25target-i386: fix helper_fscale() wrt softfloatAurelien Jarno
Use the scalbn softfloat function to implement helper_fscale(). This fixes corner cases (e.g. NaN) and makes a few more GNU libc math tests to pass. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat-native: add float*_is_any_nan() functionsAurelien Jarno
Add float*_is_any_nan() functions to match the softfloat API. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat-native: fix float*_scalbn() functionsAurelien Jarno
float*_scalbn() should be able to take a status parameter. Fix that. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: fix float*_scalnb() corner casesAurelien Jarno
float*_scalnb() were not taking into account all cases. This patch fixes some corner cases: - NaN values in input were not properly propagated and the invalid flag not correctly raised. Use propagateFloat*NaN() for that. - NaN or infinite values in input of floatx80_scalnb() were not correctly detected due to a typo. - The sum of exponent and n could overflow, leading to strange results. Additionally having int16 defined to int make that happening for a very small range of values. Fix that by saturating n to the maximum exponent range, and using an explicit wider type if needed. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: add floatx80_compare*() functionsAurelien Jarno
Add floatx80_compare() and floatx80_compare_quiet() functions to match the softfloat-native ones. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat-native: add a few constant valuesAurelien Jarno
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: add pi constantsAurelien Jarno
Add a pi constant for float32, float64, floatx80. It will be used by target-i386 and later by the trigonometric functions. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: add floatx80 constantsAurelien Jarno
Add floatx80 constants similarly to float32 or float64. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: fix floatx80_is_infinity()Aurelien Jarno
With floatx80, the explicit bit is set for infinity. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-25softfloat: fix floatx80 handling of NaNAurelien Jarno
The floatx80 format uses an explicit bit that should be taken into account when converting to and from commonNaN format. When converting to commonNaN, the explicit bit should be removed if it is a 1, and a default NaN should be used if it is 0. When converting from commonNan, the explicit bit should be added. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-22vmstate: port mac_dbdmaJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22mac_dbdma: create DBDMAState instead of passing one array aroundJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port piix4Juan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22piix4: create PIIX4StateJuan Quintela
It only contains a PCIDevice by know, but it makes easy to use migration code Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port mac_nvramJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22mac_nvram: size is a size, no need to be a target dependent typeJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port nandJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22nand: pin values are uint8_tJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port max111xJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22max111x: input field is only used as uint8_tJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port pxa2xx_lcdJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22pxa2xx_lcd: up field is used as a bool and migrated as an uint8_tJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22pxa2xx_lcd: name anonymous structJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: stellaris use unused for placeholder entriesJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port stellaris gamepadJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port syborg_keyboardJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port syborg_serialJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port stellaris_adcJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port syborg_pointerJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port ppc4xx_pciJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port ppce500_pciJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port pxa2xx_pmJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port pxa2xx_mmJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port pxa2xx_cmJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port pxa2xx_i2sJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2011-04-22vmstate: port stellaris gptmJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>