structure.html
2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>/tmp/n46software.html</title>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
</head>
<body>
<h2>BB Player Software Structure</h2>
March 2003<br>
<br>
<br>
Player software is broken into 4 classes of components:<br>
<br>
<ul>
<li>boot rom</li>
<li>secure kernel</li>
<li>system application</li>
<li>untrusted application</li>
</ul>
<br>
<img
src="structure.gif"
alt="software structure" width="763" height="599"><br>
<br>
<h3>Boot Rom</h3>
The boot rom is part of the BB Player hardware. It is responsible for
loading the secure kernel from the BBCard to secure memory (bram), authenticating
it, and launching it. <br>
<h3>Secure Kernel</h3>
The secure kernel has two major responsibilities: acting as a second level
boot loader for the (main) system application and providing a set of security
primitives that are executed in a trusted environment. As the second
level boot loader it is responsible for loading the system application from
the BBCard in DRAM, authenticating it, and transfering control to it. While
other applications are executing the secure kernel remains resident in secure
memory and services application requests. The majority of requests
are concerned with validating authenticity of tickets and applications chosen
to be executed by the end user through the system application.<br>
<h3>System Application</h3>
The system application servers as the general purpose application loader
and housekeeper for the Player. It provides a GUI allowing applications
to be selected for execution, performs the i/o requests to load the application,
sets up mapping tables to implement N64 compatible I/O operations to cartridge
rom space, and presents the application and necessary credentials to
the secure kernel<br>
for application launching. The system application is uses the same
programming environment (SDK) as game applications with some player specific
extensions for interacting with the secure kernel and new I/O devices (BBCard,
USB, etc).<br>
<h3>Untrusted Application</h3>
Games and other entertainment applications fit in the category of untrusted
applications. The use the same execution environment and sdk as the
original N64 applications. The sdk contains minor implementation changes
to present an environment that maintains compatibility with the original
N64 environment. Additional extensions to the sdk support use of new
hardware features (USB, RTC, etc).<br>
<br>
<br>
</body>
</html>