forked from espressif/esp-idf
fix(esp_rom): fixed float to int conversion functions not working on P4
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -16,15 +16,21 @@
|
|||||||
/***************************************
|
/***************************************
|
||||||
Group rvfplibdf
|
Group rvfplibdf
|
||||||
***************************************/
|
***************************************/
|
||||||
|
/*
|
||||||
|
* These functions cannot work when compiling with floating point ABI
|
||||||
|
* implementation assumes argument is passed in a0, but floats will be passed
|
||||||
|
* in the floating point registers instead
|
||||||
|
*
|
||||||
|
* __fixsfdi = 0x4fc00878;
|
||||||
|
* __fixunssfdi = 0x4fc00880;
|
||||||
|
*/
|
||||||
|
|
||||||
/* Functions */
|
/* Functions */
|
||||||
__adddf3 = 0x4fc00868;
|
__adddf3 = 0x4fc00868;
|
||||||
__eqdf2 = 0x4fc0086c;
|
__eqdf2 = 0x4fc0086c;
|
||||||
__fixdfdi = 0x4fc00870;
|
__fixdfdi = 0x4fc00870;
|
||||||
__fixdfsi = 0x4fc00874;
|
__fixdfsi = 0x4fc00874;
|
||||||
__fixsfdi = 0x4fc00878;
|
|
||||||
__fixunsdfsi = 0x4fc0087c;
|
__fixunsdfsi = 0x4fc0087c;
|
||||||
__fixunssfdi = 0x4fc00880;
|
|
||||||
__floatdidf = 0x4fc00884;
|
__floatdidf = 0x4fc00884;
|
||||||
__floatsidf = 0x4fc00888;
|
__floatsidf = 0x4fc00888;
|
||||||
__floatundidf = 0x4fc0088c;
|
__floatundidf = 0x4fc0088c;
|
||||||
@@ -41,6 +47,10 @@ __subdf3 = 0x4fc008ac;
|
|||||||
Group libgcc
|
Group libgcc
|
||||||
***************************************/
|
***************************************/
|
||||||
|
|
||||||
|
/* Not part of the orginal ROM interface, but RVFP versions cannot work with float-abi */
|
||||||
|
__fixsfdi = 0x4fc007ac;
|
||||||
|
__fixunssfdi = 0x4fc007b4;
|
||||||
|
|
||||||
/* Functions */
|
/* Functions */
|
||||||
__absvdi2 = 0x4fc0073c;
|
__absvdi2 = 0x4fc0073c;
|
||||||
__absvsi2 = 0x4fc00740;
|
__absvsi2 = 0x4fc00740;
|
||||||
|
@@ -9,6 +9,3 @@ components/esp_rom/test_apps/rom_tests:
|
|||||||
- if: IDF_TARGET in ["esp32", "esp32c2"]
|
- if: IDF_TARGET in ["esp32", "esp32c2"]
|
||||||
temporary: false
|
temporary: false
|
||||||
reason: lack of memory for testing miniz compressing
|
reason: lack of memory for testing miniz compressing
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: test not pass, should be re-enable # TODO: IDF-8977
|
|
||||||
|
@@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
|||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_esp_rom(dut: Dut) -> None:
|
def test_esp_rom(dut: Dut) -> None:
|
||||||
dut.run_all_single_board_cases()
|
dut.run_all_single_board_cases()
|
||||||
|
Reference in New Issue
Block a user