Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
HI, No worries about Yesterday. I decided to take a different approach. I'll put that stuff in that relates to GDummyPanel flypie/GDummyPanel first I sent the patch to the list a copy is here. 0001-PATCH-V-2-GDummyPanel-Fix-formatingissues.patch | | | | || | | | || 0001-PATCH-V-2-GDummyPanel-Fix-formatingissues.patch Shared with Dropbox | | | | Then set about getting the upgrades from Andrew Baumann in. Then prepare an RFC for the protocol used by GDummyPanel taking into account any feed pack on the prototype/proof of concept/risk reduction in the patch. | | | | || | | | || flypie/GDummyPanel GDummyPanel - The Client App which links to the Raspi to help simulate GPIO | | | | John BradleyTel: 07896 839635Skype: flypie125 125B Grove StreetEdge Hill Liverpool L7 7AF On Thursday, 18 May 2017, 8:47, Markus Armbrusterwrote: IANAL, this wouldn't be legal advice even if I was one, yadda, yadda, here goes anyway: Eric Blake writes: > On 05/17/2017 04:25 PM, John Bradley wrote: >> Well unfortunately Eric. I don't understand your "top posted" slang. > > To learn what top-posting is: > http://lmgtfy.com/?q=what+is+top-posting > > and why we don't like it on technical lists: > http://www.caliburn.nl/topposting.html > > Or more humorously: Seconded. > A: Yes. >> >Q: Are you sure? >>> >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? > >> >> As for his "intent", it is quite irrelevant as I have gone over the code >> line by line and what every he intended to do, he has succeed, as far as I >> can tell , in matching you standards, to such an extent that I am happy that > > You are correct that the GPL gives us legal rights to use Andrew's code > without his permission. And yes, YOU can fork qemu, and take whatever > GPL patches you want without attribution, and you are probably still > just fine legally (as long as you still abide by the GPL in that you > distribute sources to anyone that has your binary). > > But our project rules do not allow us to live by just GPL (in part, > because the license of qemu is sometimes tricky to determine due to a > mix of GPLv2-only code and non-GPL code, even though most new code is > GPLv2+). Also, if we ever had a reason to change license (supposing it > is even possible, although it might require ripping out or > reimplementing portions of the code base), having S-o-b means that we > cannot be accused of applying a license that someone did not agree to. > > Therefore, it is easier, pragmatically, even if not legally necessary, > to enforce proper chain of authorship by getting Signed-off-by: tags on > ALL patches, especially where a patch asserts a copyright owner, insofar > as the original copyright owner is still alive and able to assent to the > action. It is not just about legalities, it is also about risk-avoidance. > > It may sound like we are being hard-nosed (and so be it), but there's a > reason that we list proper Signed-off-by: rules as our number 1 item on > the SubmitAPatch page. > http://wiki.qemu.org/Contribute/SubmitAPatch Yes, we require patch submitters to provide their Signed-off-by. We encourage documenting a patch's provenance in full by having every author provide their S-o-b, whenever practical. But we don't require it. The core purpose of the S-o-b is "to improve tracking of who did what" by making patch authors formally certify that they "wrote it or otherwise have the right to pass it on as a open-source patch"[2]. Note "improve" and "have the right to pass it on". One of the (many) reasons we're making software free is to help our neighbor[1] by letting him use our creation on a quid pro quo basis. Always requiring all author's S-o-b could make incorporating otherwise free code impractical, and thus would conflict with this mission. When obtaining an S-o-b is impractical, documenting provenance in other ways has to do. John wrote upthread: Andrew Baumann has and others have release the code under GNU General Public License version 2 (GPLv2), the same as QEMU that allows me to added it to QEMU as it is under the same license, by signing it off this is what I am certifying. I agree with the reasoning "if free software compatible with the GPLv2, then I can incorporate it into QEMU as long as I certify by signing off". John, thank you for your contribution to QEMU. I'm sorry your patch got side-tracked into this non-technical swamp, and hope you understand why we're rather careful when it comes to protecting the freedom of our software. I futher hope that we can put than behind us (along with top-posting *grin*), and move on to the fun part. [1] See "The four essential freedoms" https://www.gnu.org/philosophy/free-sw.en.html [2]
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
IANAL, this wouldn't be legal advice even if I was one, yadda, yadda, here goes anyway: Eric Blakewrites: > On 05/17/2017 04:25 PM, John Bradley wrote: >> Well unfortunately Eric. I don't understand your "top posted" slang. > > To learn what top-posting is: > http://lmgtfy.com/?q=what+is+top-posting > > and why we don't like it on technical lists: > http://www.caliburn.nl/topposting.html > > Or more humorously: Seconded. > A: Yes. >> >Q: Are you sure? >>> >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? > >> >> As for his "intent", it is quite irrelevant as I have gone over the code >> line by line and what every he intended to do, he has succeed, as far as I >> can tell , in matching you standards, to such an extent that I am happy that > > You are correct that the GPL gives us legal rights to use Andrew's code > without his permission. And yes, YOU can fork qemu, and take whatever > GPL patches you want without attribution, and you are probably still > just fine legally (as long as you still abide by the GPL in that you > distribute sources to anyone that has your binary). > > But our project rules do not allow us to live by just GPL (in part, > because the license of qemu is sometimes tricky to determine due to a > mix of GPLv2-only code and non-GPL code, even though most new code is > GPLv2+). Also, if we ever had a reason to change license (supposing it > is even possible, although it might require ripping out or > reimplementing portions of the code base), having S-o-b means that we > cannot be accused of applying a license that someone did not agree to. > > Therefore, it is easier, pragmatically, even if not legally necessary, > to enforce proper chain of authorship by getting Signed-off-by: tags on > ALL patches, especially where a patch asserts a copyright owner, insofar > as the original copyright owner is still alive and able to assent to the > action. It is not just about legalities, it is also about risk-avoidance. > > It may sound like we are being hard-nosed (and so be it), but there's a > reason that we list proper Signed-off-by: rules as our number 1 item on > the SubmitAPatch page. > http://wiki.qemu.org/Contribute/SubmitAPatch Yes, we require patch submitters to provide their Signed-off-by. We encourage documenting a patch's provenance in full by having every author provide their S-o-b, whenever practical. But we don't require it. The core purpose of the S-o-b is "to improve tracking of who did what" by making patch authors formally certify that they "wrote it or otherwise have the right to pass it on as a open-source patch"[2]. Note "improve" and "have the right to pass it on". One of the (many) reasons we're making software free is to help our neighbor[1] by letting him use our creation on a quid pro quo basis. Always requiring all author's S-o-b could make incorporating otherwise free code impractical, and thus would conflict with this mission. When obtaining an S-o-b is impractical, documenting provenance in other ways has to do. John wrote upthread: Andrew Baumann has and others have release the code under GNU General Public License version 2 (GPLv2), the same as QEMU that allows me to added it to QEMU as it is under the same license, by signing it off this is what I am certifying. I agree with the reasoning "if free software compatible with the GPLv2, then I can incorporate it into QEMU as long as I certify by signing off". John, thank you for your contribution to QEMU. I'm sorry your patch got side-tracked into this non-technical swamp, and hope you understand why we're rather careful when it comes to protecting the freedom of our software. I futher hope that we can put than behind us (along with top-posting *grin*), and move on to the fun part. [1] See "The four essential freedoms" https://www.gnu.org/philosophy/free-sw.en.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/process/submitting-patches.rst
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 01:09 PM, John Bradley via Qemu-devel wrote: > Also available at > > https://www.dropbox.com/s/gwuquw0kirstw7a/0001-Add-Markus-Armbrusters-code-for-Broadcom-Perhiperals.patch?dl=0 > > Following suggestions split my original patch up. This the largest monolithic > chunk is > additional BCM device support from Markus Armbruster. > > >>From 0b39a04030d5a2cea4fcd2159d365580ca155b78 Mon Sep 17 00:00:00 2001 > From: John Bradley> Date: Wed, 17 May 2017 18:57:21 +0100 > Subject: [PATCH] Add Markus Armbrusters code for Broadcom Perhiperals for ARM. > > Signed-off-by: John Bradley > --- After a break from the keyboard (always a good idea), I've re-read my comments on this thread so far. As usual, email is a lousy medium for conveying emotion and intent, and I can see how my curt replies merely pointing out ways that you can improve your patch can easily be misconstrued as negative advice or rejection of the idea in general. So let me take this time to apologize if I've come across as over-harsh, and give you a big thanks for your efforts to contribute; your additions have the potential to make qemu better. I hope that we do not scare you off with advice on improving your contributions up to community standard, but that you feel welcome to contribute to the community, as well as using the give-and-take iteration of review to make your first patch great. Writing a first patch series can be especially daunting when you are new to an unfamiliar process, and while we were all once at your point, it takes effort to remember that not everyone is as familiar with open source ways, and how it felt on our own first patch submission. A big hint: the great way to get a patch accepted on ANY project is to first offer reviews on other patches being submitted to the list. Review backlog is always present, but it gets especially bad if there are more contributors than reviewers. Plus, reviewing code that other people write can give you a feel for what constitutes a typical patch for the project, which will let you model your own submissions in the same style. Good luck! -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 04:25 PM, John Bradley wrote: > Well unfortunately Eric. I don't understand your "top posted" slang. To learn what top-posting is: http://lmgtfy.com/?q=what+is+top-posting and why we don't like it on technical lists: http://www.caliburn.nl/topposting.html Or more humorously: A: Yes. > >Q: Are you sure? >> >>A: Because it reverses the logical flow of conversation. >>> >>>Q: Why is top posting frowned upon? > > As for his "intent", it is quite irrelevant as I have gone over the code line > by line and what every he intended to do, he has succeed, as far as I can > tell , in matching you standards, to such an extent that I am happy that You are correct that the GPL gives us legal rights to use Andrew's code without his permission. And yes, YOU can fork qemu, and take whatever GPL patches you want without attribution, and you are probably still just fine legally (as long as you still abide by the GPL in that you distribute sources to anyone that has your binary). But our project rules do not allow us to live by just GPL (in part, because the license of qemu is sometimes tricky to determine due to a mix of GPLv2-only code and non-GPL code, even though most new code is GPLv2+). Also, if we ever had a reason to change license (supposing it is even possible, although it might require ripping out or reimplementing portions of the code base), having S-o-b means that we cannot be accused of applying a license that someone did not agree to. Therefore, it is easier, pragmatically, even if not legally necessary, to enforce proper chain of authorship by getting Signed-off-by: tags on ALL patches, especially where a patch asserts a copyright owner, insofar as the original copyright owner is still alive and able to assent to the action. It is not just about legalities, it is also about risk-avoidance. It may sound like we are being hard-nosed (and so be it), but there's a reason that we list proper Signed-off-by: rules as our number 1 item on the SubmitAPatch page. http://wiki.qemu.org/Contribute/SubmitAPatch -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
Well unfortunately Eric. I don't understand your "top posted" slang. As for his "intent", it is quite irrelevant as I have gone over the code line by line and what every he intended to do, he has succeed, as far as I can tell , in matching you standards, to such an extent that I am happy that John Bradley Tel: 07896 839635 Skype: flypie125 125B Grove Street Edge Hill Liverpool L7 7AF On Wednesday, 17 May 2017, 22:15, Eric Blakewrote: On 05/17/2017 03:53 PM, John Bradley wrote: > Andrew Baumann has and others have release the code under GNU General Public > License version 2 (GPLv2), the same as QEMU that allows me to added it to > QEMU as it is under the same license, by signing it off this is what I am > certifying. See this document linked from the SubmitAPatch link (it describes the kernel meaning of S-o-b tags, although the qemu meaning is the same): https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/SubmittingPatches?id=f6f94e2ab1b33f0082ac22d71f66385a60d8157f#n297 Yes, your Signed-off-by: asserts that you are okay releasing your portions of the patch (bullets a, d) and that you chased down that portions that you did not write are properly licensed (bullet b), but what you are missing is that when you modify someone else's patch, we also need that someone's assertion of intent that their work (whether or not modified by you) meets the same standards (bullet c). In other words, when modifying a patch, S-o-b lines should be additive in nature, rather than replacing his by yours (or, if his is missing in the source you originally copied from, then we really need to Andrew to chime in and add one); this is so that there is a full chain of custody on who wrote portions of the commit. > John BradleyTel: 07896 839635Skype: flypie125 125B Grove StreetEdge Hill > Liverpool L7 7AF Your mailer is sending very poor formatting when rendered as plain text (and we frown on html mail on this list). > > On Wednesday, 17 May 2017, 20:11, Eric Blake wrote: > > > On 05/17/2017 01:34 PM, John Bradley wrote: >> This is especial true as I meant Andrew Baumann 0xabu (Andrew Baumann) > > Top-posting is not nice on technical lists. And yet, in spite of me mentioning it, you still top-posted. :( -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org Well unfortunately Eric. I don't understand your "top posted" slang. As for his "intent", it is quite irrelevant as I have gone over the code line by line and what every he intended to do, he has succeed, as far as I can tell , in matching you standards, to such an extent that I am happy that he has succeeded in reaching your standards and am happy to certify that he has. As for my mailer it is Yahoos and again as far as I can tell it is full RFC822 compliant, so perhaps you should adjust you obviously defective mail reader.
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 03:53 PM, John Bradley wrote: > Andrew Baumann has and others have release the code under GNU General Public > License version 2 (GPLv2), the same as QEMU that allows me to added it to > QEMU as it is under the same license, by signing it off this is what I am > certifying. See this document linked from the SubmitAPatch link (it describes the kernel meaning of S-o-b tags, although the qemu meaning is the same): https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/SubmittingPatches?id=f6f94e2ab1b33f0082ac22d71f66385a60d8157f#n297 Yes, your Signed-off-by: asserts that you are okay releasing your portions of the patch (bullets a, d) and that you chased down that portions that you did not write are properly licensed (bullet b), but what you are missing is that when you modify someone else's patch, we also need that someone's assertion of intent that their work (whether or not modified by you) meets the same standards (bullet c). In other words, when modifying a patch, S-o-b lines should be additive in nature, rather than replacing his by yours (or, if his is missing in the source you originally copied from, then we really need to Andrew to chime in and add one); this is so that there is a full chain of custody on who wrote portions of the commit. > John BradleyTel: 07896 839635Skype: flypie125 125B Grove StreetEdge Hill > Liverpool L7 7AF Your mailer is sending very poor formatting when rendered as plain text (and we frown on html mail on this list). > > On Wednesday, 17 May 2017, 20:11, Eric Blakewrote: > > > On 05/17/2017 01:34 PM, John Bradley wrote: >> This is especial true as I meant Andrew Baumann 0xabu (Andrew Baumann) > > Top-posting is not nice on technical lists. And yet, in spite of me mentioning it, you still top-posted. :( -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
Andrew Baumann has and others have release the code under GNU General Public License version 2 (GPLv2), the same as QEMU that allows me to added it to QEMU as it is under the same license, by signing it off this is what I am certifying. John BradleyTel: 07896 839635Skype: flypie125 125B Grove StreetEdge Hill Liverpool L7 7AF On Wednesday, 17 May 2017, 20:11, Eric Blakewrote: On 05/17/2017 01:34 PM, John Bradley wrote: > This is especial true as I meant Andrew Baumann 0xabu (Andrew Baumann) Top-posting is not nice on technical lists. > 0xabu (Andrew Baumann) > 0xabu has 3 repositories available. Follow their code on GitHub. | | Using github requires the use of non-free (as in freedom) Javascript. That's why this list prefers that all patches be sent through the list as emails, not as github pull requests. I'm not going to look at what 0xabu's repository contains, but rather at what you send through the list. But part of the contract of Signed-off-by is that you have permission to post the patch and agree to the license in use - which means that if your work is a modified version of Andrew Baumann's work, then you need Andrew Baumann's sign-off before you can add yours. Other hints for better patch submission may be found here: http://wiki.qemu.org/Contribute/SubmitAPatch -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 01:34 PM, John Bradley wrote: > This is especial true as I meant Andrew Baumann 0xabu (Andrew Baumann) Top-posting is not nice on technical lists. > 0xabu (Andrew Baumann) > 0xabu has 3 repositories available. Follow their code on GitHub. | | Using github requires the use of non-free (as in freedom) Javascript. That's why this list prefers that all patches be sent through the list as emails, not as github pull requests. I'm not going to look at what 0xabu's repository contains, but rather at what you send through the list. But part of the contract of Signed-off-by is that you have permission to post the patch and agree to the license in use - which means that if your work is a modified version of Andrew Baumann's work, then you need Andrew Baumann's sign-off before you can add yours. Other hints for better patch submission may be found here: http://wiki.qemu.org/Contribute/SubmitAPatch -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 02:27 PM, Eric Blake wrote: > On 05/17/2017 01:09 PM, John Bradley via Qemu-devel wrote: >> Also available at >> >> https://www.dropbox.com/s/gwuquw0kirstw7a/0001-Add-Markus-Armbrusters-code-for-Broadcom-Perhiperals.patch?dl=0 > > This content belongs... > >> >> Following suggestions split my original patch up. This the largest >> monolithic chunk is >> additional BCM device support from Markus Armbruster. >> >> >> >From 0b39a04030d5a2cea4fcd2159d365580ca155b78 Mon Sep 17 00:00:00 2001 >> From: John Bradley>> Date: Wed, 17 May 2017 18:57:21 +0100 >> Subject: [PATCH] Add Markus Armbrusters code for Broadcom Perhiperals for >> ARM. Also, though your patch body says `Subject: [PATCH]`, your actual email subject does not. It should so that the build bot and maintenance tools can find it appropriately. The next version of this that gets sent should also carry the 'v2' tag. --js >> >> Signed-off-by: John Bradley > > I would expect that if some of this code was written by Markus, then it > would carry his Signed-off-by. Or, maybe you just mean that you are > splitting your patch according to the device Markus gave (in which case, > a Suggested-by: tag may be appropriate). Either way, I don't see why > Markus' name has to be in the subject line (the patch subject should be > WHAT changed, not WHO suggested the change). > >> --- > > ...here, after the --- separator. It is useful to reviewers, but should > not end up as part of the actual commit message. > >> hw/arm/Makefile.objs |2 +- >> hw/arm/bcm2835.c | 114 >> hw/arm/bcm2835_peripherals.c | 104 >> hw/misc/Makefile.objs|2 + >> hw/misc/bcm2835_mphi.c | 163 ++ >> hw/misc/bcm2835_power.c | 106 >> hw/timer/Makefile.objs |2 + >> hw/timer/bcm2835_st.c| 202 +++ >> hw/timer/bcm2835_timer.c | 224 +++ >> hw/usb/Makefile.objs |4 +- >> hw/usb/bcm2835_usb.c | 604 +++ >> hw/usb/bcm2835_usb_regs.h| 1061 >> ++ > > That's still rather large to review in one chunk, especially while > touching other files. It can probably still be split up further. > >> include/hw/arm/bcm2835.h | 37 ++ >> include/hw/arm/bcm2835_peripherals.h | 10 + >> include/hw/intc/bcm2835_control.h| 53 ++ >> include/hw/misc/bcm2835_mphi.h | 28 + >> include/hw/misc/bcm2835_power.h | 22 + >> include/hw/timer/bcm2835_st.h| 25 + >> include/hw/timer/bcm2835_timer.h | 32 + >> include/hw/usb/bcm2835_usb.h | 78 +++ >> 20 files changed, 2871 insertions(+), 2 deletions(-) >> create mode 100644 hw/arm/bcm2835.c >> create mode 100644 hw/misc/bcm2835_mphi.c >> create mode 100644 hw/misc/bcm2835_power.c >> create mode 100644 hw/timer/bcm2835_st.c >> create mode 100644 hw/timer/bcm2835_timer.c >> create mode 100644 hw/usb/bcm2835_usb.c >> create mode 100644 hw/usb/bcm2835_usb_regs.h >> create mode 100644 include/hw/arm/bcm2835.h >> create mode 100644 include/hw/intc/bcm2835_control.h >> create mode 100644 include/hw/misc/bcm2835_mphi.h >> create mode 100644 include/hw/misc/bcm2835_power.h >> create mode 100644 include/hw/timer/bcm2835_st.h >> create mode 100644 include/hw/timer/bcm2835_timer.h >> create mode 100644 include/hw/usb/bcm2835_usb.h >> >
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
This is especial true as I meant Andrew Baumann 0xabu (Andrew Baumann) | | | | || | | | || 0xabu (Andrew Baumann) 0xabu has 3 repositories available. Follow their code on GitHub. | | | | John BradleyTel: 07896 839635Skype: flypie125 125B Grove StreetEdge Hill Liverpool L7 7AF On Wednesday, 17 May 2017, 19:27, Eric Blakewrote: On 05/17/2017 01:09 PM, John Bradley via Qemu-devel wrote: > Also available at > > https://www.dropbox.com/s/gwuquw0kirstw7a/0001-Add-Markus-Armbrusters-code-for-Broadcom-Perhiperals.patch?dl=0 This content belongs... > > Following suggestions split my original patch up. This the largest monolithic > chunk is > additional BCM device support from Markus Armbruster. > > >>From 0b39a04030d5a2cea4fcd2159d365580ca155b78 Mon Sep 17 00:00:00 2001 > From: John Bradley > Date: Wed, 17 May 2017 18:57:21 +0100 > Subject: [PATCH] Add Markus Armbrusters code for Broadcom Perhiperals for ARM. > > Signed-off-by: John Bradley I would expect that if some of this code was written by Markus, then it would carry his Signed-off-by. Or, maybe you just mean that you are splitting your patch according to the device Markus gave (in which case, a Suggested-by: tag may be appropriate). Either way, I don't see why Markus' name has to be in the subject line (the patch subject should be WHAT changed, not WHO suggested the change). > --- ...here, after the --- separator. It is useful to reviewers, but should not end up as part of the actual commit message. > hw/arm/Makefile.objs | 2 +- > hw/arm/bcm2835.c | 114 > hw/arm/bcm2835_peripherals.c | 104 > hw/misc/Makefile.objs | 2 + > hw/misc/bcm2835_mphi.c | 163 ++ > hw/misc/bcm2835_power.c | 106 > hw/timer/Makefile.objs | 2 + > hw/timer/bcm2835_st.c | 202 +++ > hw/timer/bcm2835_timer.c | 224 +++ > hw/usb/Makefile.objs | 4 +- > hw/usb/bcm2835_usb.c | 604 +++ > hw/usb/bcm2835_usb_regs.h | 1061 ++ That's still rather large to review in one chunk, especially while touching other files. It can probably still be split up further. > include/hw/arm/bcm2835.h | 37 ++ > include/hw/arm/bcm2835_peripherals.h | 10 + > include/hw/intc/bcm2835_control.h | 53 ++ > include/hw/misc/bcm2835_mphi.h | 28 + > include/hw/misc/bcm2835_power.h | 22 + > include/hw/timer/bcm2835_st.h | 25 + > include/hw/timer/bcm2835_timer.h | 32 + > include/hw/usb/bcm2835_usb.h | 78 +++ > 20 files changed, 2871 insertions(+), 2 deletions(-) > create mode 100644 hw/arm/bcm2835.c > create mode 100644 hw/misc/bcm2835_mphi.c > create mode 100644 hw/misc/bcm2835_power.c > create mode 100644 hw/timer/bcm2835_st.c > create mode 100644 hw/timer/bcm2835_timer.c > create mode 100644 hw/usb/bcm2835_usb.c > create mode 100644 hw/usb/bcm2835_usb_regs.h > create mode 100644 include/hw/arm/bcm2835.h > create mode 100644 include/hw/intc/bcm2835_control.h > create mode 100644 include/hw/misc/bcm2835_mphi.h > create mode 100644 include/hw/misc/bcm2835_power.h > create mode 100644 include/hw/timer/bcm2835_st.h > create mode 100644 include/hw/timer/bcm2835_timer.h > create mode 100644 include/hw/usb/bcm2835_usb.h > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Re: [Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
On 05/17/2017 01:09 PM, John Bradley via Qemu-devel wrote: > Also available at > > https://www.dropbox.com/s/gwuquw0kirstw7a/0001-Add-Markus-Armbrusters-code-for-Broadcom-Perhiperals.patch?dl=0 This content belongs... > > Following suggestions split my original patch up. This the largest monolithic > chunk is > additional BCM device support from Markus Armbruster. > > >>From 0b39a04030d5a2cea4fcd2159d365580ca155b78 Mon Sep 17 00:00:00 2001 > From: John Bradley> Date: Wed, 17 May 2017 18:57:21 +0100 > Subject: [PATCH] Add Markus Armbrusters code for Broadcom Perhiperals for ARM. > > Signed-off-by: John Bradley I would expect that if some of this code was written by Markus, then it would carry his Signed-off-by. Or, maybe you just mean that you are splitting your patch according to the device Markus gave (in which case, a Suggested-by: tag may be appropriate). Either way, I don't see why Markus' name has to be in the subject line (the patch subject should be WHAT changed, not WHO suggested the change). > --- ...here, after the --- separator. It is useful to reviewers, but should not end up as part of the actual commit message. > hw/arm/Makefile.objs |2 +- > hw/arm/bcm2835.c | 114 > hw/arm/bcm2835_peripherals.c | 104 > hw/misc/Makefile.objs|2 + > hw/misc/bcm2835_mphi.c | 163 ++ > hw/misc/bcm2835_power.c | 106 > hw/timer/Makefile.objs |2 + > hw/timer/bcm2835_st.c| 202 +++ > hw/timer/bcm2835_timer.c | 224 +++ > hw/usb/Makefile.objs |4 +- > hw/usb/bcm2835_usb.c | 604 +++ > hw/usb/bcm2835_usb_regs.h| 1061 ++ That's still rather large to review in one chunk, especially while touching other files. It can probably still be split up further. > include/hw/arm/bcm2835.h | 37 ++ > include/hw/arm/bcm2835_peripherals.h | 10 + > include/hw/intc/bcm2835_control.h| 53 ++ > include/hw/misc/bcm2835_mphi.h | 28 + > include/hw/misc/bcm2835_power.h | 22 + > include/hw/timer/bcm2835_st.h| 25 + > include/hw/timer/bcm2835_timer.h | 32 + > include/hw/usb/bcm2835_usb.h | 78 +++ > 20 files changed, 2871 insertions(+), 2 deletions(-) > create mode 100644 hw/arm/bcm2835.c > create mode 100644 hw/misc/bcm2835_mphi.c > create mode 100644 hw/misc/bcm2835_power.c > create mode 100644 hw/timer/bcm2835_st.c > create mode 100644 hw/timer/bcm2835_timer.c > create mode 100644 hw/usb/bcm2835_usb.c > create mode 100644 hw/usb/bcm2835_usb_regs.h > create mode 100644 include/hw/arm/bcm2835.h > create mode 100644 include/hw/intc/bcm2835_control.h > create mode 100644 include/hw/misc/bcm2835_mphi.h > create mode 100644 include/hw/misc/bcm2835_power.h > create mode 100644 include/hw/timer/bcm2835_st.h > create mode 100644 include/hw/timer/bcm2835_timer.h > create mode 100644 include/hw/usb/bcm2835_usb.h > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
[Qemu-devel] Add Markus Armbrusters code for Broadcom Perhiperals for ARM.
Also available at https://www.dropbox.com/s/gwuquw0kirstw7a/0001-Add-Markus-Armbrusters-code-for-Broadcom-Perhiperals.patch?dl=0 Following suggestions split my original patch up. This the largest monolithic chunk is additional BCM device support from Markus Armbruster. >From 0b39a04030d5a2cea4fcd2159d365580ca155b78 Mon Sep 17 00:00:00 2001 From: John BradleyDate: Wed, 17 May 2017 18:57:21 +0100 Subject: [PATCH] Add Markus Armbrusters code for Broadcom Perhiperals for ARM. Signed-off-by: John Bradley --- hw/arm/Makefile.objs |2 +- hw/arm/bcm2835.c | 114 hw/arm/bcm2835_peripherals.c | 104 hw/misc/Makefile.objs|2 + hw/misc/bcm2835_mphi.c | 163 ++ hw/misc/bcm2835_power.c | 106 hw/timer/Makefile.objs |2 + hw/timer/bcm2835_st.c| 202 +++ hw/timer/bcm2835_timer.c | 224 +++ hw/usb/Makefile.objs |4 +- hw/usb/bcm2835_usb.c | 604 +++ hw/usb/bcm2835_usb_regs.h| 1061 ++ include/hw/arm/bcm2835.h | 37 ++ include/hw/arm/bcm2835_peripherals.h | 10 + include/hw/intc/bcm2835_control.h| 53 ++ include/hw/misc/bcm2835_mphi.h | 28 + include/hw/misc/bcm2835_power.h | 22 + include/hw/timer/bcm2835_st.h| 25 + include/hw/timer/bcm2835_timer.h | 32 + include/hw/usb/bcm2835_usb.h | 78 +++ 20 files changed, 2871 insertions(+), 2 deletions(-) create mode 100644 hw/arm/bcm2835.c create mode 100644 hw/misc/bcm2835_mphi.c create mode 100644 hw/misc/bcm2835_power.c create mode 100644 hw/timer/bcm2835_st.c create mode 100644 hw/timer/bcm2835_timer.c create mode 100644 hw/usb/bcm2835_usb.c create mode 100644 hw/usb/bcm2835_usb_regs.h create mode 100644 include/hw/arm/bcm2835.h create mode 100644 include/hw/intc/bcm2835_control.h create mode 100644 include/hw/misc/bcm2835_mphi.h create mode 100644 include/hw/misc/bcm2835_power.h create mode 100644 include/hw/timer/bcm2835_st.h create mode 100644 include/hw/timer/bcm2835_timer.h create mode 100644 include/hw/usb/bcm2835_usb.h diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs index 4c5c4ee76c..35b2da24f5 100644 --- a/hw/arm/Makefile.objs +++ b/hw/arm/Makefile.objs @@ -11,7 +11,7 @@ obj-y += armv7m.o exynos4210.o pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o obj-$(CONFIG_DIGIC) += digic.o obj-y += omap1.o omap2.o strongarm.o obj-$(CONFIG_ALLWINNER_A10) += allwinner-a10.o cubieboard.o -obj-$(CONFIG_RASPI) += bcm2835_peripherals.o bcm2836.o raspi.o +obj-$(CONFIG_RASPI) += bcm2835.o bcm2835_peripherals.o bcm2836.o raspi.o obj-$(CONFIG_STM32F205_SOC) += stm32f205_soc.o obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o xlnx-ep108.o obj-$(CONFIG_FSL_IMX25) += fsl-imx25.o imx25_pdk.o diff --git a/hw/arm/bcm2835.c b/hw/arm/bcm2835.c new file mode 100644 index 00..e5744c1620 --- /dev/null +++ b/hw/arm/bcm2835.c @@ -0,0 +1,114 @@ +/* + * Raspberry Pi emulation (c) 2012 Gregory Estrade + * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous + * + * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft + * Written by Andrew Baumann + * + * This code is licensed under the GNU GPLv2 and later. + */ + +#include "qemu/osdep.h" +#include "cpu.h" +#include "hw/arm/bcm2835.h" +#include "hw/arm/raspi_platform.h" +#include "hw/sysbus.h" +#include "exec/address-spaces.h" + + +/* Peripheral base address seen by the CPU */ +#define BCM2835_PERI_BASE 0x2000 + +static void bcm2835_init(Object *obj) +{ +BCM2835State *s = BCM2835(obj); + +object_initialize(>cpus[0], sizeof(s->cpus[0]), "arm1176-" TYPE_ARM_CPU); +object_property_add_child(obj, "cpu", OBJECT(>cpus[0]), _abort); + +object_initialize(>peripherals, sizeof(s->peripherals), + TYPE_BCM2835_PERIPHERALS); +object_property_add_child(obj, "peripherals", OBJECT(>peripherals), + _abort); +object_property_add_alias(obj, "board-rev", OBJECT(>peripherals), + "board-rev", _abort); +object_property_add_alias(obj, "vcram-size", OBJECT(>peripherals), + "vcram-size", _abort); +qdev_set_parent_bus(DEVICE(>peripherals), sysbus_get_default()); +} + +static void bcm2835_realize(DeviceState *dev, Error **errp) +{ +BCM2835State *s = BCM2835(dev); +Object *obj; +Error *err = NULL; + +/* common peripherals from bcm2835 */ +obj = object_property_get_link(OBJECT(dev), "ram", ); +if (obj == NULL) { +error_setg(errp, "%s: required ram link not found: %s", + __func__, error_get_pretty(err)); +return; +} + +object_property_add_const_link(OBJECT(>peripherals), "ram", obj, ); +if (err) { +error_propagate(errp, err); +return; +} + +