Hi Marc Jones,<br><br> 1. <br> +typedef struct {<br> + int mask[256];<br> + int (*intXX_handler[256])(struct eregs *regs);<br> +}interrupt_handlers;<br><br> <span style="color: rgb(51, 51, 255);">The mainboard_interrupt_handlers need modification if the structure is not needed.</span><br>
<br> 2.<br> + if(!(*intXX_handler))<br>
+ {<br> + /* Set up C interrupt handlers */<br> + setup_interrupt_handlers();<br> + }<br><br> Yes, this is because mainboard_interrupt_handlers gets called first.<br>
<br><br><div class="gmail_quote">2009/12/22 Marc Jones <span dir="ltr"><<a href="mailto:marcj303@gmail.com">marcj303@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Mon, Dec 21, 2009 at 6:15 PM, Libra Li <<a href="mailto:librali1977@gmail.com">librali1977@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> The VGA BIOS is through int15 getting LCD panel ID. Then the VBIOS call<br>
> int15's "Get LCD panel ID".<br>
> The panel ID is selection by switch.<br>
> This function is reference "AMD RS690 ASIC Family BIOS Developer's<br>
> Guide".<br>
><br>
> Thanks.<br>
><br>
> Signed-off-by: Libra Li <<a href="http://libra.li" target="_blank">libra.li</a>@<a href="http://technexion.com" target="_blank">technexion.com</a>><br>
<br>
</div></div>Hi Libra Li,<br>
<br>
Thanks for making these changes. I like the idea of the mainboard<br>
interrupt function. I have a few comments.<br>
<br>
+typedef struct {<br>
+ int mask[256];<br>
+ int (*intXX_handler[256])(struct eregs *regs);<br>
+}interrupt_handlers;<br>
<br>
This is a really big structure and probably not needed. I don't think<br>
anyone would override every interrupt vector, just one or two like you<br>
are doing. Maybe just use a table that has the interrupt and function<br>
pointer.<br>
<br>
<br>
+ if(!(*intXX_handler))<br>
+ {<br>
+ /* Set up C interrupt handlers */<br>
+ setup_interrupt_handlers();<br>
+ }<br>
+<br>
<br>
Is this because mainboard_interrupt_handlers gets called first and the<br>
interrupts are over written? It would be better if the defaults could<br>
always be loaded and then the main board interrupts get fixed up.<br>
<br>
Thanks,<br>
Marc<br>
<font color="#888888"><br>
<br>
--<br>
<a href="http://marcjonesconsulting.com" target="_blank">http://marcjonesconsulting.com</a><br>
</font></blockquote></div><br>