From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754902AbZI3Wty (ORCPT ); Wed, 30 Sep 2009 18:49:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754692AbZI3Wtx (ORCPT ); Wed, 30 Sep 2009 18:49:53 -0400 Received: from wolverine02.qualcomm.com ([199.106.114.251]:2511 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754649AbZI3Wtw (ORCPT ); Wed, 30 Sep 2009 18:49:52 -0400 X-IronPort-AV: E=McAfee;i="5300,2777,5757"; a="24391197" From: David Brown To: linux-arm-kernel@lists.infradead.org Cc: David Brown , Russell King , Catalin Marinas , linux-kernel@vger.kernel.org Subject: [PATCH] ARM: allow empty ATAG_CORE Date: Wed, 30 Sep 2009 15:53:00 -0700 Message-Id: <1254351180-29199-1-git-send-email-davidb@codeaurora.org> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1254347072-27932-1-git-send-email-davidb@codeaurora.org> References: <1254347072-27932-1-git-send-email-davidb@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: David Brown The ATAG_CORE is allowed to be empty. Although this is handled by parse_tag_core(), __vet_atags during startup rejects this tag unless it contains data. Allow the initial tag to be either the full size, or empty. Signed-off-by: David Brown --- Sorry, previous patch didn't actually do anything, since the new constant was defined incorrectly. arch/arm/kernel/head-common.S | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index 93ad576..885a721 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S @@ -13,6 +13,7 @@ #define ATAG_CORE 0x54410001 #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) +#define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2) .align 2 .type __switch_data, %object @@ -251,7 +252,8 @@ __vet_atags: bne 1f ldr r5, [r2, #0] @ is first tag ATAG_CORE? - subs r5, r5, #ATAG_CORE_SIZE + cmp r5, #ATAG_CORE_SIZE + cmpne r5, #ATAG_CORE_SIZE_EMPTY bne 1f ldr r5, [r2, #4] ldr r6, =ATAG_CORE -- 1.6.2.3