[Top] [All Lists]

[PATCH v3 0/3] Workaround the Out-of-order Issue of Loongson-2F

To: Ralf Baechle <>
Subject: [PATCH v3 0/3] Workaround the Out-of-order Issue of Loongson-2F
From: Wu Zhangjin <>
Date: Sat, 13 Mar 2010 12:34:14 +0800
Cc:, Shinya Kuribayashi <>, Wu Zhangjin <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:mime-version:content-type :content-transfer-encoding; bh=PmhfZVavA9GI1SxBc/5y9Qb8LUrzbS7lKl5advSSUQc=; b=J+JjKnnmUwOyGt6W5CZC1eve1YwK/vaIHFTOYs8kQjD3LD3qtEDwmbDMcyIlH4f6dH OCennhcrlmyKqNUk3DG2lHFqRVZ9WdDm1ggjp9sfLGEAbclOMLH6pQF8Da30/I3F8TSs pHKBSpp5Sr/KdGp/d7j+Lhm2dPaT0grLGD0h4=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:mime-version :content-type:content-transfer-encoding; b=KyFNSKwWrVKeW2ANLA/pzix6iEPQ9gOKtvUa3/TBYLECqiBAuDi50gEmQ4OxEUsI99 eFKx25eguZcqnKFRs2lJeC0kT/+jkaYHQLip+os3/4v7CeKwAuYP5M4irM7R1UlbGvT6 ucMKHRLLZkJvZfpCJgaoPRbWxtXLvpzG7zk90=
Original-recipient: rfc822;
From: Wu Zhangjin <>

Hi, Ralf

Is that possible to apply this patchset for both 2.6.33(the stable release) and
2.6.34? then we can get a not broken support for loongson-2f with the
options(-mfix-loongson2f-nop, -mfix-loongson2f-jump) provided by the latest
binutils (>=2.20.1).

Thanks & Regards,
       Wu Zhangjin




  o Herein, RAS is short for Return Address Stack not Row Address Strobe, at
  the same time, the "model" in the translation of Chapter 15 should be "mode".
  (feedback from Shinya Kuribayashi)

  o Cleanup some comments and align some instructions.

As the Chapter 15: "Errata: Issue of Out-of-order in loongson"[1] shows, to
workaround the Issue of Loongson-2F,We need to do:

  o When switching from user mode to kernel mode, you should flush the branch
  target history such as BTB and RAS.
  o Doing some tricks to the indirect branch target to make sure that the
  indirect branch target can not be in the I/O region.

This patchset applied the above methods and for the binutils patch[3] have been
merged into binutils 2.20.1, so, it's time to upstream this patchset now.
without this patch, the machines will hang when the instruction sequence hit
the Out-of-order Issue of Loongson-2F, therefore, this patchset is very urgent
for both 2.6.33 and 2.6.34.

[1] Chinese Version:
[2] English Version of Chapter 15:

        Wu Zhangjin

Wu Zhangjin (3):
  Loongson-2F: Flush the branch target history such as BTB and RAS
  Loongson-2F: Enable fixups of binutils 2.20.1
  Loongson-2F: Fixup of problems introduced by -mfix-loongson2f-jump of
    binutils 2.20.1

 arch/mips/Makefile                 |    4 +++-
 arch/mips/include/asm/stackframe.h |   19 +++++++++++++++++++
 arch/mips/loongson/common/reset.c  |   11 ++++++++++-
 3 files changed, 32 insertions(+), 2 deletions(-)

<Prev in Thread] Current Thread [Next in Thread>