diff options
author | Eric Biederman <ebiederm@xmission.com> | 2003-06-28 06:49:45 +0000 |
---|---|---|
committer | Eric Biederman <ebiederm@xmission.com> | 2003-06-28 06:49:45 +0000 |
commit | d1ea53995ca8c385db79174d9b2fa133fd52b0aa (patch) | |
tree | a2c40289914c50d0f7409ddf90c9a6c3b2485447 /util/romcc/tests/simple_test46.c | |
parent | db59928fd93080e5376e45f7dcf7ddee0262e336 (diff) |
- Update romcc so that it more successfully spills registers to the xmm registers
- Add several more test cases.
- Bump the version number to .32
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@919 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/romcc/tests/simple_test46.c')
-rw-r--r-- | util/romcc/tests/simple_test46.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/util/romcc/tests/simple_test46.c b/util/romcc/tests/simple_test46.c new file mode 100644 index 0000000000..bd84246b02 --- /dev/null +++ b/util/romcc/tests/simple_test46.c @@ -0,0 +1,41 @@ +static void spd_set_memclk(void) +{ + static const int indicies[] = { 26, 23, 9 }; + int new_cycle_time, new_latency; + int index; + unsigned min_cycle_time, min_latency; + unsigned device; + + min_cycle_time = 0x50; + min_latency = 2; + device = 0x50; + new_cycle_time = 0xa0; + new_latency = 5; + + for(index = 0; index < 3; index++) { + unsigned long loops; + unsigned long address; + address = indicies[index]; + loops = 1000000; + do { + } while(--loops); + if (loops < 0) { + continue; + } + + __builtin_outb(device, 0x10e4); + __builtin_outb(address, 0x10e8); + + loops = 1000000; + if ((loops?0:-1) < 0) { + continue; + } + } + + if (new_cycle_time > min_cycle_time) { + min_cycle_time = new_cycle_time; + } + if (new_latency > min_latency) { + min_latency = new_latency; + } +} |