Board Support Package (BSP) FAQ

What is a BSP?

BSP stands for Board Support Package, a solution that makes the boot firmware available to developers. Each SageBIOS™ BSP is a specially configured, compiled and tested boot solution  prepared for a particular x86 processor platform. A BSP includes SageBIOS™ source code; some of you already know that SageBIOS is a coreboot® distribution (coreboot.org). Included with the source code are payloads to meet target markets and drivers to enable peripherals. Additionally, each BSP includes the Sage EDK development environment.

What BSPs does Sage offer?

Sage offers a number of BSPs including the following and more under development:

  • SB-BSP-AMD-OH for Olive Hill reference board (AMD Embedded G-Series SOC)
  • SB-BSP-INTC-CC for Cougar Canyon reference board (Intel Ivy Bridge, Intel Sandy Bridge)
  • SB-BSP-INTC-MP for Mohon Peak reference board (Intel Rangeley)
  • SB-BSP-AMD-PS for Gizmo development board (AMD Embedded G-Series APU)

Will Sage build a custom BSP for my platform?

Absolutely. Just tell us what you need. Even if you’re not sure about all the details involved, we’ll help you figure it out. With vast experience in x86 bootloader and open source development, Sage engineers are fully qualified to help you develop a custom boot solution for your board. Please contact our sales team to discuss your project.

What do I get when I purchase a BSP?

When you purchase a SageBIOS BSP you will receive a welcome email with links to download the following:

  • A compressed tar file containing:
    1. Pre-compiled binaries of your personalized boot solution, which have been pre-tested through rigorous stress tests in our lab
    2. Source files for all of the public domain content ready for you to add your customizations
    3. Configuration files, makefiles and header files so you can easily rebuild the binaries with your changes
  • In addition, you will receive a license to the Sage EDK, our premier development environment that optimizes your turn-on and debug cycle. The Sage EDK lets you manage and edit your source files, streamline your builds and flash transfers, and see what’s happening within your system through an intuitive graphical interface.

How do I access my BSP and receive updates?

Your welcome email will contain a link to start your download. You can control when to receive updates. Through our subscription manager, you can always download the latest BSP containing all the updates to SageBIOS and SeaBIOS that have already been fully tested on your platform. We  test and release changes at least once a month. Your subscription to receive these updates will last 12 months from your purchase date.

Will I have to access Sage's git repository?

There is no need for you to access Sage’s git repository, and here’s why. Before we release a BSP, we go through an extensive test, validation and release process. With our update schedule of at least once a month, you will regularly have access to the latest code changes, fully tested and ready to go, without having to wade through a repository. We save you the trouble of having to deal with untested builds.

What if I have trouble getting the BSP to work on my board? Will I get support from Sage?

We understand that new concepts can be tricky at first and things don’t always work quite as expected. That’s why your purchase of a SageBIOS BSP includes four hours of direct support (via phone or email) from our team of expert developers. If you need more support or would like special customizations, we can provide that as well. Please contact our sales team to schedule a time to discuss your needs.

Will I have to pay royalties if I include a SageBIOS BSP in my product?

No. Each Board Support Package is fully tested, includes the source code for you to make changes, and is available to you for a single, one-time price. Included in the purchase price is a one-year subscription, which enables you to receive updates, bug fixes and new features as they become available, at no additional cost. You are free to distribute the binary solution provided for you with no restrictions or further cost. The source code is covered under various licenses, including GPL, so please familiarize yourself with restrictions on re-distributing the source code itself. Please refer to the SageBIOS BSP License Agreement for further details.

How is a SageBIOS BSP licensed?

For details on how SageBIOS is licensed and distributed, please refer to the SageBIOS BSP Licensing FAQ. You can read the full license agreement here.

Is all of the code open-source?

Actually, no. While it is true that much of the material in each BSP is freely available from open source communities, there are many pieces that have been internally developed by Sage.
The open source pieces are available through each community’s repository, and Sage regularly pushes its changes back to those repositories as we believe in supporting the open source code movement. But just because you can pull the files from the available repositories, it does not mean that integration and implementation will be easy or cheap. Sage has invested many person-years of effort into understanding and developing boot solutions based on coreboot and SeaBIOS open-source code. This type of development is not easy, and it is not cheap. It takes a great deal of know-how to put together a working solution. What you are paying for is the guarantee that you will receive code that works on your target system. You will also receive support to get your project up and running. You will not have to hire any other parties or invest in training your engineers to handle the BIOS, nor will you have to pay high royalty fees to those other BIOS providers.

How often will I receive updates?

Sage will release an update incorporating community changes, additional features, bug fixes and Sage internal modifications at least once per month for the duration of your subscription. At the end of your subscription, you may renew in order to continue receiving updates and keep your customers current.

What do I need to get started?

Prior to purchasing a Sage BSP, please make sure that you have selected the correct BSP for your platform. Each BSP has been specifically tested in our lab to correctly function on its target system. Different BSPs are not interchangeable. Each may also have its own licensing terms that require you to obtain binary material from other sources prior to being able to receive the BSP. There is no charge for this other material, but the third-party providers have their own distribution requirements that you are expected to follow. Please read the information on the page for your specific BSP of interest prior to purchasing. If you have questions or need a more customized solution, contact a Sage sales representative.

How do I purchase a BSP?

BSPs can be purchased directly through our website via the following links:

Our sales staff will be happy to assist with your order or direct you to the right contact should you need development customization.

Who can I talk to if I have more questions?

Sage’s sales staff is ready to assist you.

I've downloaded my BSP. Now what?

First you need to unpack the tar file onto your development machine. Once you have the files extracted, refer to the README file that comes with the installation or read it here. For more support, visit our wiki and discussion forum.

SmartProbe FAQ

What is a node?

In SmartProbe terminology, a node refers to a processor or socket. A node contains one or more cores within the same package.

Which AMD processor families does the SmartProbe firmware V2.03 support?

Firmware V2.03 supports the following AMD processor families: 0Fh, 10h, 12h, 14h, 15h Models 0h – Fh, and 15h Models 10h – 1Fh.

Can you correlate the AMD alphanumeric processor family names with the processor product names or popular code names?

Here are several correlations:

  • Family 0Fh: Athlon, Opteron, Sempron, Turion
  • Family 10h: Barcelona Family, “K10” – Athlon/Athlon II, Opteron, Phenom/Phenom II, Sempron, Turion II, V-Series
  • Family 12h: Fusion Family, “Llano” – A-Series, E2-Series, Sempron, Athlon II
  • Family 14h: Bobcat Family, “Ontario” – C-Series, E-Series, G-Series, Z-Series
  • Family 15h, Models 0h – Fh: Bulldozer Family, “Trinity”
  • Family 15h, Models 10h – 1Fh: Bulldozer Family, “Orochi, Valencia”
  • Family 16h: “Jaguar” – Kabini, Kaveri, Kryptos, Tamesh

When debugging a multiprocessor design, how do I use the HDT MP connector?

If you are debugging a multiprocessor design, be aware that SmartProbe does not support the HDT MP connector for multi-node debugging. Be sure to use HDT+ instead.

How many hardware breakpoints does the SmartProbe support?

The SmartProbe supports a maximum of four (4) hardware breakpoints. Hardware breakpoints are replicated across all cores on all nodes. PLEASE NOTE: If Virtual Port is enabled, the maximum number of hardware breakpoints available is three (3).

What type of debugging does SmartProbe support?

SmartProbe supports debugging from the reset vector and seamlessly transitions between 16-bit, 32-bit, and 64-bit modes.

What types of USB cables can I use with the SmartProbe?

Please use USB 2.0 certified cables with the SmartProbe. We have observed odd behavior when lesser cables are used. To avoid experiencing problems, make sure to always use the USB 2.0 certified cable that’s shipped with the SmartProbe.

What does it mean when the SmartProbe status LED is constantly on?

If the LED is solid-on or solid-off, it is an indication of a problem with your SmartProbe that may require a power cycle or firmware update to resolve. For additional information, refer to the SmartProbe Wiki.

What memory view does software executing on the system see?

Software that’s executing on the system sees the default memory view of the target. In SMM, the default is to treat all memory addresses as physical. In Paging Mode, default is to treat all memory addresses as virtual.

How is single-stepping of the cores on the target done?

The SmartProbe single-steps all cores on the target simultaneously.

How does SmartProbe resume cores on the target?

The SmartProbe resumes all cores on the target together.

How do I access the Virtual Port feature?

Accessing the Virtual Port feature is accomplished through the Sage EDK, an integrated development environment (IDE) that can be paired with the SmartProbe to integrate every aspect of design into a streamlined, intuitive graphical interface.

The Sage EDK Virtual Port feature provides direct access to trap and display serial port debug messages, port 80h POST codes, and other valuable information.

The Virtual Port feature is accessed through the “Sage EDK Tools” view on the “VPort” tab. Switch to the “VPort” tab, enter the port number to connect to, and check the box next to “Trap and Display as:” in order to access this feature.

What can I expect from the SmartProbe when I use it as a debugger?

Sage strives to give you the features you need to fully debug your design, features such as source-level symbolic debugging, access to all architecturally visible registers including general purpose registers and MSR (model specific registers), access to key features inside the processors, and everything you need for complete debug capability. You can watch execution as it’s happening, down to the assembly instruction.

I’m trying to debug a target system that I don’t know enough about. Will the SmartProbe still work for me?

On supported families, the SmartProbe is able to automatically identify the AMD processor in a target system, so it can report back what type of processor is in place and how many cores are present. On an unsupported processor, the SmartProbe may succeed in identifying the processor, but debug capabilities will be disabled. Please watch for future firmware updates. We are continually adding support for new processor families as they become available.

I am having trouble installing (or communicating with) the SmartProbe driver on my Windows 7/Vista/8 development machine. Is there a fix for this?

Sage has put together a device driver package that enables the use of a Sage SmartProbe on Windows 7, Windows Vista, and Windows 8 development machines. If you are having difficulties installing or using the Sage SmartProbe on your Windows system, download the device driver package from here (http://www.se-eng.com/download/misc/Sage_Signed_Driver.zip). Once you have downloaded the package, unzip it and follow the instructions in the enclosed read_me.txt file.

– Steve G.

Is the SmartProbe compatible with the GDB command line?

Yes it is. Source code symbolic debugging will work from the command line. You can examine registers and memory, single-step, and set breakpoints.

What are the biggest benefits the SmartProbe offers me as a developer?

There are many, but most developers find that developing with the SmartProbe leads to time savings and greater visibility. Shorter development time often translates into cost savings. Many developers appreciate the remote access capability. With the SmartProbe you can navigate through code more easily. In addition, you can program target flash without having to buy a separate device.

Sage EDK

What is a Sage EDK?

Built on the Kepler edition of the Eclipse integrated development environment (IDE) and packaged with a complete toolchain required for cross-compiling and downloading firmware, the Sage EDK is a highly productive embedded firmware development platform.

Where do I get the source code for the SageEDK/SageBIOS toolchain?

Sage is committed to providing quality, tested products based on open source solutions. In this spirit, Sage distributes a build of the GNU toolchain as part of our integrated development environment, the Sage EDK.
As part of our commitment to open source, Sage publishes the information necessary to rebuild our GNU toolchain. You can find the information at http://www.se-eng.com/wiki/index.php/Building_the_EDK_Toolchain.

Have additional questions?
Contact us directly via phone, email, or online support form.