From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fOlTb-00067P-9c for qemu-devel@nongnu.org; Fri, 01 Jun 2018 10:56:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fOlTa-0006Sw-KN for qemu-devel@nongnu.org; Fri, 01 Jun 2018 10:56:23 -0400 From: Peter Maydell Date: Fri, 1 Jun 2018 15:43:26 +0100 Message-Id: <20180601144328.23817-1-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH 0/2] armv7m: Remove armv7m_init() function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: patches@linaro.org, Julia Suvorova , Stefan Hajnoczi , Joel Stanley , Jim Mussared , =?UTF-8?q?Steffen=20G=C3=B6rtz?= The armv7m_init() function is a legacy from before we properly QOMified ARMv7M, and it has some flaws: * it combines work that needs to be done by an SoC object (creating and initializing the TYPE_ARMV7M object) with work that needs to be done by the board model (setting the system up to load the ELF file specified with -kernel) * TYPE_ARMV7M creation failure is fatal, but an SoC object wants to arrange to propagate the failure outward * it uses allocate-and-create via qdev_create() whereas the current preferred style for SoC objects is to do creation in-place This patchset fixes the only current caller (the stellaris board) to not use it, and then removes the function. New board and SoC models should do the two jobs this function was doing themselves, in the right places and with whatever their preferred style/error handling is. (I've cc'd the people working on the nRF51 SoC model, as a heads-up that they'll need to update their code so it compiles once this hits master.) thanks -- PMM Peter Maydell (2): stellaris: Stop using armv7m_init() hw/arm/armv7m: Remove unused armv7m_init() function include/hw/arm/arm.h | 8 ++------ hw/arm/armv7m.c | 21 --------------------- hw/arm/stellaris.c | 12 ++++++++++-- 3 files changed, 12 insertions(+), 29 deletions(-) -- 2.17.1