[Top] [All Lists]

[PATCH v4 0/4] Workaround the Out-of-order Issue of Loongson-2

To: Ralf Baechle <>
Subject: [PATCH v4 0/4] Workaround the Out-of-order Issue of Loongson-2
From: Wu Zhangjin <>
Date: Wed, 7 Apr 2010 21:11:50 +0800
Cc:, 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; bh=wW79bNVlvzikJLy0Hs7Y4YPojGmBm75idveX5lbr/FA=; b=YTrh92DR0BqgNKcorC8jxqBlQouDfa0Qsge6zOBSWGHVpKkQZwmOn9piLvTzBbU/MA LRxupBgzCCJoeeNzLRzPXn0ui4KNAWkz1Xk0K6+/g23BtNvP+VsDdZiga9OJbq6UKZN4 4jIXh6jKufcl0t3Xt09vOhTM+KZNr/W0TuNG0=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=adI1UpQ4bG0pdXpG4TmO16l/gqMnEuFA0UOz/qIJn2g2rWp8t6rBT9E+ZjM+pcudOR VdoegXXcuEwBJTS/im4hMfYVExychNzWhH1yh1u4psyTbPRCJvjfft3s1UzxlssT8/VB T1N8AiOtQlqIwQv9E/ECeqwvlXon84i24qLIs=
Original-recipient: rfc822;
From: Wu Zhangjin <>


  + Incorporated with the feedbacks from Ralf.
    o add a new kernel config option to allow the users to disable the
    workarounds for the new loongson2f batches(2F03 and newer).
    o enable the workarounds unconditionally for the related 
    o use a safer method to fixup the reset issue introduced by the workaround.


  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 (4):
  Loongson-2F: Enable fixups of the latest binutils
  Loongson-2F: Flush the branch target history in BTB and RAS (cont.)
  Loongson-2F: Fixup of problems introduced by -mfix-loongson2f-jump

 arch/mips/Kconfig                  |   26 ++++++++++++++++++++++++++
 arch/mips/Makefile                 |   13 +++++++++++++
 arch/mips/include/asm/stackframe.h |    2 +-
 arch/mips/loongson/common/reset.c  |   20 +++++++++++++++++++-
 4 files changed, 59 insertions(+), 2 deletions(-)

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