Hello Eric,
I searched the linux kernel mail archive and found your
patch for x86 boot linuxbios support, but I didn't find the
linuxbios table parse code in linux-2.6.8.1, does linux kernel
still parse the linuxbios table now?
Regards,
Liu Tao
Apologies if this is a redundant contribution.
None of my pc motherboards have JTAG or HW debug capabilites.
And constantly (hot)flashing, changing ram init code, then (hot)flashing again
gets old really fast.
Looking around, I couldnt find any debug tools that would operate at
basically the reset vector level. I thought this was the goal of openbios,
but I got lost in all the jibberish about 4th and firmware standards.
So I set out to make a small interactive low level shell with the goal
of providing at least some tools to aid in board/memory bringup and debugging.
This was nontrivial given the system limitations, however I got a few
things to work.
Attached is llshell.inc (for linuxbios1, Ive not tried any of the new
stuff yet) and llshell_linux (for running/testing inside of linux).
It's written entirely in asm and can run in a memoryless early stage
(say at the beginning of ram_set_registers or points afterword).
List of commands:
beep -- pc speaker beep
rst (or RST) -- reset
out(b,w,l) <val> <port> -- raw out val at port
in(b,w,l) <port> -- show raw port value
jmp <address> -- jmp to address (llshell addr is in eax)
call <address> -- funcion call (assumes a working stack)
cli -- clear interrupts
sti -- enable interrupts
push <value> -- push value onto stack
pop -- pop from stack and display
wm(b,w,l) <addr> <val> -- write mem
dm <addr> <lines> -- dump mem
mcp <src> <dst> <size> -- mem copy
mpat <pat> <dst> <size> -- mem pattern
memt <begin> <end> -- memory test
pcir(b,w,l) <loc> -- pci read config
pciw(b,w,l) <loc> <val> -- pci write config
dl <addr> <size> -- memory download (display xor cheksum at completion)
cram <addr> <size> -- enable cache to be ram (experimental)
baud <val> -- change baudrate (not yet implemented)
exit -- exit shell
All values in hex (0x prefixing ok)
Just remind:
His MB has E7501 ....
So first step is make freebios2 work on that.
He may need to copy Tyan S2735 to make his MB copy at first. Then he .....
Regards
YH
-----Original Message-----
From: Ronald G. Minnich [mailto:rminnich@lanl.gov]
Sent: Wednesday, October 27, 2004 12:11 PM
To: Steve Kimball
Cc: Gin; linuxbios(a)clustermatic.org
Subject: Re: boot linux from an ide
On Wed, 27 Oct 2004, Steve Kimball wrote:
> To use FILO or Etherboot you change the payload.
> So you need to change the
> freebios2/targets/<vendor>/<board>/Config.lb
> file to point to the FILO or Etherboot payload
> and make linuxbios.rom.
don't forget you can make your own!
I have
targets/arima/hdama/Config.filo.lb
and I do this:
./buildtarget arima/hdama/Config.filo.lb
File is this:
# Sample config file for the Arima HDAMA
target hdama.filo
mainboard arima/hdama
romimage "normal"
option USE_FALLBACK_IMAGE=0
option ROM_IMAGE_SIZE=0x10000
option LINUXBIOS_EXTRA_VERSION=".0Normal"
payload /opt/filo/normal/filo.elf
end
romimage "fallback"
option USE_FALLBACK_IMAGE=1
option ROM_IMAGE_SIZE=0x10000
option LINUXBIOS_EXTRA_VERSION=".0Fallback"
payload /opt/filo/fallback/filo.elf
end
buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
_______________________________________________
Linuxbios mailing list
Linuxbios(a)clustermatic.org
http://www.clustermatic.org/mailman/listinfo/linuxbios
rtl8139 on my i845GV MB still can't work. Who know
the meaning of post code of linux? I saw linux last
post code was 99, using vendor's bios linux last post
code was 97. I want to know the difference.
tks
zhu
__________________________________
Do you Yahoo!?
The all-new My Yahoo! - Get yours free!
http://my.yahoo.com
What is the difference between
printk_debug("smbus: %s[%d]->", dev_path(dev->bus->dev),
dev->bus->link );
printk_debug("%s", dev_path(dev));
and
printk_debug("smbus: %s[%d]->%s", dev_path(dev->bus->dev),
dev->bus->link , dev_path(dev));
the first print
smbus: PCI: 01:01.1[0]->I2C: 50
the second one print
smbus: PCI: 01:01.1[0]-> PCI: 01:01.1
YH
You mean to access extra reg space (4096 bytes) for PCI-E device?
We don't need to touch that extra space ....in LinuxBIOS.
Under LinuxBIOS + kernel + IB driver, the IB adapter works well with S289x.
need to create one entry in mptable for the device. Otherwise it can not get
INT.
Currently I can not make MSI work....Kernel 2.6.
YH
Hello:
We have set up Clustermatic 5 on a small five-node cluster, and want
to install a parallel implementation of MATLAB. Which would you
recommend? MATLAB*P and STAR-P looked good, but I haven't been able to
find anywhere to download them. Both ease of coding and running speed
are important. If you have any experience or suggestions, could you
respond?
Thanks,
Reza
Hi,
I got an interesting report today from a customer having problems
with building LinuxBIOS and the payload with different compilers
The problem is that different compilers handle structure alignment
differently, ie 2.95.x and 3.x have fundamental differences here:
Adding __attribute__ ((packed)) to the structures helps:
struct lb_memory_range {
uint64_t start;
uint64_t size;
uint32_t type;
#define LB_MEM_RAM 1 /* Memory anyone can use */
#define LB_MEM_RESERVED 2 /* Don't use this memory region */
#define LB_MEM_TABLE 16 /* Ram configuration tables are kept in */
} __attribute__ ((packed));
struct lb_memory {
uint32_t tag;
uint32_t size;
struct lb_memory_range map[0];
} __attribute__ ((packed));
Since this is a table that is passed in memory, we do want it to be
exactly as it is defined, with no extra padding of any kind to make it
reliable information. So I consider adding __attribute__ ((packed))
a good solution for the problem.
If I get no good reasons against adding this, I will check it in later
Stefan