VOOZH about

URL: https://reviews.freebsd.org/D56005

⇱ ⚙ D56005 x86 xen: provide the prototype for xen_arch_intr_handle_upcall() in xen/arch-intr.h


x86 xen: provide the prototype for xen_arch_intr_handle_upcall() in xen/arch-intr.h
AcceptedPublic

Authored by kib on Fri, Mar 20, 11:28 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 10, 10:37 AM
Unknown Object (File)
Wed, Apr 8, 9:57 AM
Unknown Object (File)
Tue, Apr 7, 5:35 PM
Unknown Object (File)
Tue, Apr 7, 3:58 PM
Unknown Object (File)
Tue, Apr 7, 4:33 AM
Unknown Object (File)
Tue, Apr 7, 2:11 AM
Unknown Object (File)
Sun, Apr 5, 7:07 PM
Unknown Object (File)
Sun, Apr 5, 7:02 AM

Details

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

kib requested review of this revision.Fri, Mar 20, 11:28 PM
Comment Actions

This is wrong. Specifically is the MI <=> MD interface whereas is the x86 assembly-language <=> C interface. Mixing the two together would be bad.

Why are you proposing this? The function isn't declared in a header since the assembler doesn't understand those. If you were thinking of calling from C that is almost certainly a Bad Idea. The function which needs to be called is , but that function must conform to the interface (since it needs to be MI and be called as a driver-filter).

Are you perhaps aiming to merge all the assembly-language <=> C bridges? You might want to look at Github #1748. It appears 's interface originated on x86 with minimal variation between PICs and cascading PICs being rare (aside from the pair of 8250s, but those are handled by the same driver). Whereas the moment cascading PICs appear 's interface really needs fixing.

This revision now requires changes to proceed.Sat, Mar 21, 11:26 PM
Comment Actions

This is wrong. Specifically is the MI <=> MD interface whereas is the x86 assembly-language <=> C interface. Mixing the two together would be bad.

It is C function, it can be called from C. What is the problem?

Why are you proposing this? The function isn't declared in a header since the assembler doesn't understand those. If you were thinking of calling from C that is almost certainly a Bad Idea. The function which needs to be called is , but that function must conform to the interface (since it needs to be MI and be called as a driver-filter).

D55829

Are you perhaps aiming to merge all the assembly-language <=> C bridges? You might want to look at Github #1748. It appears 's interface originated on x86 with minimal variation between PICs and cascading PICs being rare (aside from the pair of 8250s, but those are handled by the same driver). Whereas the moment cascading PICs appear 's interface really needs fixing.

Comment Actions
In D56005#1281270, @kib wrote:

This is wrong. Specifically is the MI <=> MD interface whereas is the x86 assembly-language <=> C interface. Mixing the two together would be bad.

It is C function, it can be called from C. What is the problem?

This is the wrong header to have that in. Most of the headers are at least semi-private so anything outside of the Xen interface shouldn't be including them. I'm unsure of the proper place to put such a declaration, but is certainly wrong. Since this isn't used internally by the Xen interface the two headers I notice are and . Since this is a semi-internal PIC function almost seems the best of those.

Comment Actions

Move the proto to apicvar.h.

Comment Actions

This is still a distortion, but far less of one than having it in . Naturally this means header adjustment elsewhere.

This revision is now accepted and ready to land.Sun, Mar 22, 1:19 AM
Comment Actions

It might be easier if I just switch Xen to use like mentioned in the other review. That would prevent more Xen stuff leaking into generic headers which is not specially nice.

Comment Actions

It might be easier if I just switch Xen to use like mentioned in the other review. That would prevent more Xen stuff leaking into generic headers which is not specially nice.

I agree, please do.

Revision Contents

PathSize
sys/
x86/
include/
2 lines
xen/
1 line

Diff 174095

sys/x86/include/apicvar.h

Loading...

sys/x86/xen/xen_arch_intr.c

Loading...